Library Lambda.TPOSR.MaxLemmas

Require
Export
Coq.Arith.Max
.
Require
Import
Omega
.


Definition
max3
n
m
p
:=
max
n
(
max
m
p
).
Definition
max4
n
m
p
q
:=
max
n
(
max3
m
p
q
).
Definition
max5
n
m
p
q
r
:=
max
n
(
max4
m
p
q
r
).

Lemma
max_lt_l
: ∀
m
n
,
m
<
S
(
max
m
n
).

Lemma
max_lt_r
: ∀
m
n
,
n
<
S
(
max
m
n
).

Hint
Resolve
max_lt_l
max_lt_r
:
arith
.

Lemma
max3_lt_1
: ∀
m
n
p
,
m
<
S
(
max3
m
n
p
).

Lemma
max_n_0_n
: ∀
m
,
max
m
0 =
m
.

Lemma
max3_commut_1
: ∀
n
m
p
,
max3
n
m
p
=
max3
m
p
n
.

Lemma
max3_commut_2
: ∀
n
m
p
,
max3
n
m
p
=
max3
p
m
n
.

Lemma
max3_lt_2
: ∀
m
n
p
,
n
<
S
(
max3
m
n
p
).

Lemma
max3_lt_3
: ∀
m
n
p
,
p
<
S
(
max3
m
n
p
).

Lemma
max4_commut_1
: ∀
n
m
p
q
,
max4
n
m
p
q
=
max4
m
p
q
n
.

Lemma
max4_commut_2
: ∀
n
m
p
q
,
max4
n
m
p
q
=
max4
p
q
n
m
.

Lemma
max4_commut_3
: ∀
n
m
p
q
,
max4
n
m
p
q
=
max4
q
n
m
p
.

Lemma
max4_lt_1
: ∀
m
n
p
q
,
m
<
S
(
max4
m
n
p
q
).

Lemma
max4_lt_2
: ∀
m
n
p
q
,
n
<
S
(
max4
m
n
p
q
).

Lemma
max4_lt_3
: ∀
m
n
p
q
,
p
<
S
(
max4
m
n
p
q
).

Lemma
max4_lt_4
: ∀
m
n
p
q
,
q
<
S
(
max4
m
n
p
q
).

Lemma
max_commut_2
: ∀
m
n
p
,
max
m
(
max
n
p
) =
max
n
(
max
m
p
).

Lemma
max5_commut
: ∀
n
m
p
q
r
,
max5
n
m
p
q
r
=
max5
m
p
q
r
n
.

Lemma
max5_commut_2
: ∀
n
m
p
q
r
,
max5
n
m
p
q
r
=
max5
p
q
r
n
m
.

Lemma
max5_commut_3
: ∀
n
m
p
q
r
,
max5
n
m
p
q
r
=
max5
q
r
n
m
p
.

Lemma
max5_commut_4
: ∀
n
m
p
q
r
,
max5
n
m
p
q
r
=
max5
r
n
m
p
q
.

Lemma
max5_lt_1
: ∀
m
n
p
q
r
,
m
<
S
(
max5
m
n
p
q
r
).

Lemma
max5_lt_2
: ∀
m
n
p
q
r
,
n
<
S
(
max5
m
n
p
q
r
).

Lemma
max5_lt_3
: ∀
m
n
p
q
r
,
p
<
S
(
max5
m
n
p
q
r
).

Lemma
max5_lt_4
: ∀
m
n
p
q
r
,
q
<
S
(
max5
m
n
p
q
r
).

Lemma
max5_lt_5
: ∀
m
n
p
q
r
,
r
<
S
(
max5
m
n
p
q
r
).

Hint
Resolve
max3_lt_1
max3_lt_2
max3_lt_3
:
arith
.
Hint
Resolve
max4_lt_1
max4_lt_2
max4_lt_3
max4_lt_4
:
arith
.
Hint
Resolve
max5_lt_1
max5_lt_2
max5_lt_3
max5_lt_4
max5_lt_5
:
arith
.