Primitive. The name Eps_i is a term of type (setprop)set.
Axiom. (Eps_i_ax) We take the following as an axiom:
∀P : setprop, ∀x : set, P xP (Eps_i P)
Definition. We define True to be ∀p : prop, pp of type prop.
Definition. We define False to be ∀p : prop, p of type prop.
Definition. We define not to be λA : propAFalse of type propprop.
Notation. We use ¬ as a prefix operator with priority 700 corresponding to applying term not.
Definition. We define and to be λA B : prop∀p : prop, (ABp)p of type proppropprop.
Notation. We use as an infix operator with priority 780 and which associates to the left corresponding to applying term and.
Definition. We define or to be λA B : prop∀p : prop, (Ap)(Bp)p of type proppropprop.
Notation. We use as an infix operator with priority 785 and which associates to the left corresponding to applying term or.
Definition. We define iff to be λA B : propand (AB) (BA) of type proppropprop.
Notation. We use as an infix operator with priority 805 and no associativity corresponding to applying term iff.
Beginning of Section Eq
Variable A : SType
Definition. We define eq to be λx y : A∀Q : AAprop, Q x yQ y x of type AAprop.
Definition. We define neq to be λx y : A¬ eq x y of type AAprop.
End of Section Eq
Notation. We use = as an infix operator with priority 502 and no associativity corresponding to applying term eq.
Notation. We use as an infix operator with priority 502 and no associativity corresponding to applying term neq.
Beginning of Section FE
Variable A B : SType
Axiom. (func_ext) We take the following as an axiom:
∀f g : AB, (∀x : A, f x = g x)f = g
End of Section FE
Beginning of Section Ex
Variable A : SType
Definition. We define ex to be λQ : Aprop∀P : prop, (∀x : A, Q xP)P of type (Aprop)prop.
End of Section Ex
Notation. We use x...y [possibly with ascriptions] , B as a binder notation corresponding to a term constructed using ex.
Axiom. (prop_ext) We take the following as an axiom:
∀p q : prop, iff p qp = q
Primitive. The name In is a term of type setsetprop.
Notation. We use as an infix operator with priority 500 and no associativity corresponding to applying term In. Furthermore, we may write xA, B to mean x : set, xAB.
Definition. We define Subq to be λA B ⇒ xA, x B of type setsetprop.
Notation. We use as an infix operator with priority 500 and no associativity corresponding to applying term Subq. Furthermore, we may write xA, B to mean x : set, xAB.
Axiom. (set_ext) We take the following as an axiom:
∀X Y : set, X YY XX = Y
Axiom. (In_ind) We take the following as an axiom:
∀P : setprop, (∀X : set, (xX, P x)P X)∀X : set, P X
Notation. We use x...y [possibly with ascriptions] , B as a binder notation corresponding to a term constructed using ex and handling ∈ or ⊆ ascriptions using and.
Primitive. The name Empty is a term of type set.
Axiom. (EmptyAx) We take the following as an axiom:
¬ x : set, x Empty
Primitive. The name is a term of type setset.
Axiom. (UnionEq) We take the following as an axiom:
∀X x, x X Y, x Y Y X
Primitive. The name 𝒫 is a term of type setset.
Axiom. (PowerEq) We take the following as an axiom:
∀X Y : set, Y 𝒫 X Y X
Primitive. The name Repl is a term of type set(setset)set.
Notation. {B| xA} is notation for Repl Ax . B).
Axiom. (ReplEq) We take the following as an axiom:
∀A : set, ∀F : setset, ∀y : set, y {F x|xA} xA, y = F x
Definition. We define TransSet to be λU : setxU, x U of type setprop.
Definition. We define Union_closed to be λU : set∀X : set, X U X U of type setprop.
Definition. We define Power_closed to be λU : set∀X : set, X U𝒫 X U of type setprop.
Definition. We define Repl_closed to be λU : set∀X : set, X U∀F : setset, (∀x : set, x XF x U){F x|xX} U of type setprop.
Definition. We define ZF_closed to be λU : setUnion_closed U Power_closed U Repl_closed U of type setprop.
Primitive. The name UnivOf is a term of type setset.
Axiom. (UnivOf_In) We take the following as an axiom:
∀N : set, N UnivOf N
Axiom. (UnivOf_TransSet) We take the following as an axiom:
∀N : set, TransSet (UnivOf N)
Axiom. (UnivOf_ZF_closed) We take the following as an axiom:
∀N : set, ZF_closed (UnivOf N)
Axiom. (UnivOf_Min) We take the following as an axiom:
∀N U : set, N UTransSet UZF_closed UUnivOf N U
Axiom. (FalseE) We take the following as an axiom:
False∀p : prop, p
Axiom. (TrueI) We take the following as an axiom:
True
Axiom. (andI) We take the following as an axiom:
∀A B : prop, ABA B
Axiom. (andEL) We take the following as an axiom:
∀A B : prop, A BA
Axiom. (andER) We take the following as an axiom:
∀A B : prop, A BB
Axiom. (orIL) We take the following as an axiom:
∀A B : prop, AA B
Axiom. (orIR) We take the following as an axiom:
∀A B : prop, BA B
Beginning of Section PropN
Variable P1 P2 P3 : prop
Axiom. (and3I) We take the following as an axiom:
P1P2P3P1 P2 P3
Axiom. (and3E) We take the following as an axiom:
P1 P2 P3(∀p : prop, (P1P2P3p)p)
Axiom. (or3I1) We take the following as an axiom:
P1P1 P2 P3
Axiom. (or3I2) We take the following as an axiom:
P2P1 P2 P3
Axiom. (or3I3) We take the following as an axiom:
P3P1 P2 P3
Axiom. (or3E) We take the following as an axiom:
P1 P2 P3(∀p : prop, (P1p)(P2p)(P3p)p)
Variable P4 : prop
Axiom. (and4I) We take the following as an axiom:
P1P2P3P4P1 P2 P3 P4
Variable P5 : prop
Axiom. (and5I) We take the following as an axiom:
P1P2P3P4P5P1 P2 P3 P4 P5
End of Section PropN
Axiom. (not_or_and_demorgan) We take the following as an axiom:
∀A B : prop, ¬ (A B)¬ A ¬ B
Axiom. (not_ex_all_demorgan_i) We take the following as an axiom:
∀P : setprop, (¬ x, P x)∀x, ¬ P x
Axiom. (iffI) We take the following as an axiom:
∀A B : prop, (AB)(BA)(A B)
Axiom. (iffEL) We take the following as an axiom:
∀A B : prop, (A B)AB
Axiom. (iffER) We take the following as an axiom:
∀A B : prop, (A B)BA
Axiom. (iff_refl) We take the following as an axiom:
∀A : prop, A A
Axiom. (iff_sym) We take the following as an axiom:
∀A B : prop, (A B)(B A)
Axiom. (iff_trans) We take the following as an axiom:
∀A B C : prop, (A B)(B C)(A C)
Axiom. (eq_i_tra) We take the following as an axiom:
∀x y z, x = yy = zx = z
Axiom. (f_eq_i) We take the following as an axiom:
∀f : setset, ∀x y, x = yf x = f y
Axiom. (neq_i_sym) We take the following as an axiom:
∀x y, x yy x
Definition. We define nIn to be λx X ⇒ ¬ In x X of type setsetprop.
Notation. We use as an infix operator with priority 502 and no associativity corresponding to applying term nIn.
Axiom. (Eps_i_ex) We take the following as an axiom:
∀P : setprop, (x, P x)P (Eps_i P)
Axiom. (pred_ext) We take the following as an axiom:
∀P Q : setprop, (∀x, P x Q x)P = Q
Axiom. (prop_ext_2) We take the following as an axiom:
∀p q : prop, (pq)(qp)p = q
Axiom. (Subq_ref) We take the following as an axiom:
∀X : set, X X
Axiom. (Subq_tra) We take the following as an axiom:
∀X Y Z : set, X YY ZX Z
Axiom. (Subq_contra) We take the following as an axiom:
∀X Y z : set, X Yz Yz X
Axiom. (EmptyE) We take the following as an axiom:
∀x : set, x Empty
Axiom. (Subq_Empty) We take the following as an axiom:
∀X : set, Empty X
Axiom. (Empty_Subq_eq) We take the following as an axiom:
∀X : set, X EmptyX = Empty
Axiom. (Empty_eq) We take the following as an axiom:
∀X : set, (∀x, x X)X = Empty
Axiom. (UnionI) We take the following as an axiom:
∀X x Y : set, x YY Xx X
Axiom. (UnionE) We take the following as an axiom:
∀X x : set, x XY : set, x Y Y X
Axiom. (UnionE_impred) We take the following as an axiom:
∀X x : set, x X∀p : prop, (∀Y : set, x YY Xp)p
Axiom. (PowerI) We take the following as an axiom:
∀X Y : set, Y XY 𝒫 X
Axiom. (PowerE) We take the following as an axiom:
∀X Y : set, Y 𝒫 XY X
Axiom. (Empty_In_Power) We take the following as an axiom:
∀X : set, Empty 𝒫 X
Axiom. (Self_In_Power) We take the following as an axiom:
∀X : set, X 𝒫 X
Axiom. (xm) We take the following as an axiom:
∀P : prop, P ¬ P
Axiom. (dneg) We take the following as an axiom:
∀P : prop, ¬ ¬ PP
Axiom. (not_all_ex_demorgan_i) We take the following as an axiom:
∀P : setprop, ¬ (∀x, P x)x, ¬ P x
Axiom. (eq_or_nand) We take the following as an axiom:
or = (λx y : prop¬ (¬ x ¬ y))
Primitive. The name exactly1of2 is a term of type proppropprop.
Axiom. (exactly1of2_I1) We take the following as an axiom:
∀A B : prop, A¬ Bexactly1of2 A B
Axiom. (exactly1of2_I2) We take the following as an axiom:
∀A B : prop, ¬ ABexactly1of2 A B
Axiom. (exactly1of2_E) We take the following as an axiom:
∀A B : prop, exactly1of2 A B∀p : prop, (A¬ Bp)(¬ ABp)p
Axiom. (exactly1of2_or) We take the following as an axiom:
∀A B : prop, exactly1of2 A BA B
Axiom. (ReplI) We take the following as an axiom:
∀A : set, ∀F : setset, ∀x : set, x AF x {F x|xA}
Axiom. (ReplE) We take the following as an axiom:
∀A : set, ∀F : setset, ∀y : set, y {F x|xA}xA, y = F x
Axiom. (ReplE_impred) We take the following as an axiom:
∀A : set, ∀F : setset, ∀y : set, y {F x|xA}∀p : prop, (∀x : set, x Ay = F xp)p
Axiom. (ReplE') We take the following as an axiom:
∀X, ∀f : setset, ∀p : setprop, (xX, p (f x))y{f x|xX}, p y
Axiom. (Repl_Empty) We take the following as an axiom:
∀F : setset, {F x|xEmpty} = Empty
Axiom. (ReplEq_ext_sub) We take the following as an axiom:
∀X, ∀F G : setset, (xX, F x = G x){F x|xX} {G x|xX}
Axiom. (ReplEq_ext) We take the following as an axiom:
∀X, ∀F G : setset, (xX, F x = G x){F x|xX} = {G x|xX}
Axiom. (Repl_inv_eq) We take the following as an axiom:
∀P : setprop, ∀f g : setset, (∀x, P xg (f x) = x)∀X, (xX, P x){g y|y{f x|xX}} = X
Axiom. (Repl_invol_eq) We take the following as an axiom:
∀P : setprop, ∀f : setset, (∀x, P xf (f x) = x)∀X, (xX, P x){f y|y{f x|xX}} = X
Primitive. The name If_i is a term of type propsetsetset.
Notation. if cond then T else E is notation corresponding to If_i type cond T E where type is the inferred type of T.
Axiom. (If_i_correct) We take the following as an axiom:
∀p : prop, ∀x y : set, p (if p then x else y) = x ¬ p (if p then x else y) = y
Axiom. (If_i_0) We take the following as an axiom:
∀p : prop, ∀x y : set, ¬ p(if p then x else y) = y
Axiom. (If_i_1) We take the following as an axiom:
∀p : prop, ∀x y : set, p(if p then x else y) = x
Axiom. (If_i_or) We take the following as an axiom:
∀p : prop, ∀x y : set, (if p then x else y) = x (if p then x else y) = y
Primitive. The name UPair is a term of type setsetset.
Notation. {x,y} is notation for UPair x y.
Axiom. (UPairE) We take the following as an axiom:
∀x y z : set, x {y,z}x = y x = z
Axiom. (UPairI1) We take the following as an axiom:
∀y z : set, y {y,z}
Axiom. (UPairI2) We take the following as an axiom:
∀y z : set, z {y,z}
Primitive. The name Sing is a term of type setset.
Notation. {x} is notation for Sing x.
Axiom. (SingI) We take the following as an axiom:
∀x : set, x {x}
Axiom. (SingE) We take the following as an axiom:
∀x y : set, y {x}y = x
Primitive. The name binunion is a term of type setsetset.
Notation. We use as an infix operator with priority 345 and which associates to the left corresponding to applying term binunion.
Axiom. (binunionI1) We take the following as an axiom:
∀X Y z : set, z Xz X Y
Axiom. (binunionI2) We take the following as an axiom:
∀X Y z : set, z Yz X Y
Axiom. (binunionE) We take the following as an axiom:
∀X Y z : set, z X Yz X z Y
Axiom. (binunionE') We take the following as an axiom:
∀X Y z, ∀p : prop, (z Xp)(z Yp)(z X Yp)
Axiom. (binunion_asso) We take the following as an axiom:
∀X Y Z : set, X (Y Z) = (X Y) Z
Axiom. (binunion_com_Subq) We take the following as an axiom:
∀X Y : set, X Y Y X
Axiom. (binunion_com) We take the following as an axiom:
∀X Y : set, X Y = Y X
Axiom. (binunion_idl) We take the following as an axiom:
∀X : set, Empty X = X
Axiom. (binunion_idr) We take the following as an axiom:
∀X : set, X Empty = X
Axiom. (binunion_Subq_1) We take the following as an axiom:
∀X Y : set, X X Y
Axiom. (binunion_Subq_2) We take the following as an axiom:
∀X Y : set, Y X Y
Axiom. (binunion_Subq_min) We take the following as an axiom:
∀X Y Z : set, X ZY ZX Y Z
Axiom. (Subq_binunion_eq) We take the following as an axiom:
∀X Y, (X Y) = (X Y = Y)
Definition. We define SetAdjoin to be λX y ⇒ X {y} of type setsetset.
Notation. We now use the set enumeration notation {...,...,...} in general. If 0 elements are given, then Empty is used to form the corresponding term. If 1 element is given, then Sing is used to form the corresponding term. If 2 elements are given, then UPair is used to form the corresponding term. If more than elements are given, then SetAdjoin is used to reduce to the case with one fewer elements.
Primitive. The name famunion is a term of type set(setset)set.
Notation. We use x [possibly with ascriptions] , B as a binder notation corresponding to a term constructed using famunion.
Axiom. (famunionI) We take the following as an axiom:
∀X : set, ∀F : (setset), ∀x y : set, x Xy F xy xXF x
Axiom. (famunionE) We take the following as an axiom:
∀X : set, ∀F : (setset), ∀y : set, y (xXF x)xX, y F x
Axiom. (famunionE_impred) We take the following as an axiom:
∀X : set, ∀F : (setset), ∀y : set, y (xXF x)∀p : prop, (∀x, x Xy F xp)p
Axiom. (famunion_Empty) We take the following as an axiom:
∀F : setset, (xEmptyF x) = Empty
Beginning of Section SepSec
Variable X : set
Variable P : setprop
Let z : setEps_i (λz ⇒ z X P z)
Let F : setsetλx ⇒ if P x then x else z
Primitive. The name Sep is a term of type set.
End of Section SepSec
Notation. {xA | B} is notation for Sep Ax . B).
Axiom. (SepI) We take the following as an axiom:
∀X : set, ∀P : (setprop), ∀x : set, x XP xx {xX|P x}
Axiom. (SepE) We take the following as an axiom:
∀X : set, ∀P : (setprop), ∀x : set, x {xX|P x}x X P x
Axiom. (SepE1) We take the following as an axiom:
∀X : set, ∀P : (setprop), ∀x : set, x {xX|P x}x X
Axiom. (SepE2) We take the following as an axiom:
∀X : set, ∀P : (setprop), ∀x : set, x {xX|P x}P x
Axiom. (Sep_Subq) We take the following as an axiom:
∀X : set, ∀P : setprop, {xX|P x} X
Axiom. (Sep_In_Power) We take the following as an axiom:
∀X : set, ∀P : setprop, {xX|P x} 𝒫 X
Primitive. The name ReplSep is a term of type set(setprop)(setset)set.
Notation. {B| xA, C} is notation for ReplSep Ax . C) (λ x . B).
Axiom. (ReplSepI) We take the following as an axiom:
∀X : set, ∀P : setprop, ∀F : setset, ∀x : set, x XP xF x {F x|xX, P x}
Axiom. (ReplSepE) We take the following as an axiom:
∀X : set, ∀P : setprop, ∀F : setset, ∀y : set, y {F x|xX, P x}x : set, x X P x y = F x
Axiom. (ReplSepE_impred) We take the following as an axiom:
∀X : set, ∀P : setprop, ∀F : setset, ∀y : set, y {F x|xX, P x}∀p : prop, (xX, P xy = F xp)p
Primitive. The name binintersect is a term of type setsetset.
Notation. We use as an infix operator with priority 340 and which associates to the left corresponding to applying term binintersect.
Axiom. (binintersectI) We take the following as an axiom:
∀X Y z, z Xz Yz X Y
Axiom. (binintersectE) We take the following as an axiom:
∀X Y z, z X Yz X z Y
Axiom. (binintersectE1) We take the following as an axiom:
∀X Y z, z X Yz X
Axiom. (binintersectE2) We take the following as an axiom:
∀X Y z, z X Yz Y
Axiom. (binintersect_Subq_1) We take the following as an axiom:
∀X Y : set, X Y X
Axiom. (binintersect_Subq_2) We take the following as an axiom:
∀X Y : set, X Y Y
Axiom. (binintersect_Subq_eq_1) We take the following as an axiom:
∀X Y, X YX Y = X
Axiom. (binintersect_Subq_max) We take the following as an axiom:
∀X Y Z : set, Z XZ YZ X Y
Axiom. (binintersect_com_Subq) We take the following as an axiom:
∀X Y : set, X Y Y X
Axiom. (binintersect_com) We take the following as an axiom:
∀X Y : set, X Y = Y X
Primitive. The name setminus is a term of type setsetset.
Notation. We use as an infix operator with priority 350 and no associativity corresponding to applying term setminus.
Axiom. (setminusI) We take the following as an axiom:
∀X Y z, (z X)(z Y)z X Y
Axiom. (setminusE) We take the following as an axiom:
∀X Y z, (z X Y)z X z Y
Axiom. (setminusE1) We take the following as an axiom:
∀X Y z, (z X Y)z X
Axiom. (setminus_Subq) We take the following as an axiom:
∀X Y : set, X Y X
Axiom. (setminus_Subq_contra) We take the following as an axiom:
∀X Y Z : set, Z YX Y X Z
Axiom. (setminus_In_Power) We take the following as an axiom:
∀A U, A U 𝒫 A
Axiom. (In_irref) We take the following as an axiom:
∀x, x x
Axiom. (In_no2cycle) We take the following as an axiom:
∀x y, x yy xFalse
Primitive. The name ordsucc is a term of type setset.
Axiom. (ordsuccI1) We take the following as an axiom:
∀x : set, x ordsucc x
Axiom. (ordsuccI2) We take the following as an axiom:
∀x : set, x ordsucc x
Axiom. (ordsuccE) We take the following as an axiom:
∀x y : set, y ordsucc xy x y = x
Notation. Natural numbers 0,1,2,... are notation for the terms formed using Empty as 0 and forming successors with ordsucc.
Axiom. (neq_0_ordsucc) We take the following as an axiom:
∀a : set, 0 ordsucc a
Axiom. (neq_ordsucc_0) We take the following as an axiom:
∀a : set, ordsucc a 0
Axiom. (ordsucc_inj) We take the following as an axiom:
∀a b : set, ordsucc a = ordsucc ba = b
Axiom. (ordsucc_inj_contra) We take the following as an axiom:
∀a b : set, a bordsucc a ordsucc b
Axiom. (In_0_1) We take the following as an axiom:
0 1
Axiom. (In_0_2) We take the following as an axiom:
0 2
Axiom. (In_1_2) We take the following as an axiom:
1 2
Definition. We define nat_p to be λn : set∀p : setprop, p 0(∀x : set, p xp (ordsucc x))p n of type setprop.
Axiom. (nat_0) We take the following as an axiom:
nat_p 0
Axiom. (nat_ordsucc) We take the following as an axiom:
∀n : set, nat_p nnat_p (ordsucc n)
Axiom. (nat_1) We take the following as an axiom:
nat_p 1
Axiom. (nat_2) We take the following as an axiom:
nat_p 2
Axiom. (nat_0_in_ordsucc) We take the following as an axiom:
∀n, nat_p n0 ordsucc n
Axiom. (nat_ordsucc_in_ordsucc) We take the following as an axiom:
∀n, nat_p nmn, ordsucc m ordsucc n
Axiom. (nat_ind) We take the following as an axiom:
∀p : setprop, p 0(∀n, nat_p np np (ordsucc n))∀n, nat_p np n
Axiom. (nat_inv_impred) We take the following as an axiom:
∀p : setprop, p 0(∀n, nat_p np (ordsucc n))∀n, nat_p np n
Axiom. (nat_inv) We take the following as an axiom:
∀n, nat_p nn = 0 x, nat_p x n = ordsucc x
Axiom. (nat_complete_ind) We take the following as an axiom:
∀p : setprop, (∀n, nat_p n(mn, p m)p n)∀n, nat_p np n
Axiom. (nat_p_trans) We take the following as an axiom:
∀n, nat_p nmn, nat_p m
Axiom. (nat_trans) We take the following as an axiom:
∀n, nat_p nmn, m n
Axiom. (nat_ordsucc_trans) We take the following as an axiom:
∀n, nat_p nmordsucc n, m n
Axiom. (Union_ordsucc_eq) We take the following as an axiom:
∀n, nat_p n (ordsucc n) = n
Axiom. (cases_1) We take the following as an axiom:
i1, ∀p : setprop, p 0p i
Axiom. (cases_2) We take the following as an axiom:
i2, ∀p : setprop, p 0p 1p i
Axiom. (cases_3) We take the following as an axiom:
i3, ∀p : setprop, p 0p 1p 2p i
Axiom. (neq_0_1) We take the following as an axiom:
0 1
Axiom. (neq_1_0) We take the following as an axiom:
1 0
Axiom. (neq_0_2) We take the following as an axiom:
0 2
Axiom. (neq_2_0) We take the following as an axiom:
2 0
Axiom. (neq_1_2) We take the following as an axiom:
1 2
Axiom. (ZF_closed_E) We take the following as an axiom:
∀U, ZF_closed U∀p : prop, (Union_closed UPower_closed URepl_closed Up)p
Axiom. (ZF_Union_closed) We take the following as an axiom:
∀U, ZF_closed UXU, X U
Axiom. (ZF_Power_closed) We take the following as an axiom:
∀U, ZF_closed UXU, 𝒫 X U
Axiom. (ZF_Repl_closed) We take the following as an axiom:
∀U, ZF_closed UXU, ∀F : setset, (xX, F x U){F x|xX} U
Axiom. (ZF_UPair_closed) We take the following as an axiom:
∀U, ZF_closed Ux yU, {x,y} U
Axiom. (ZF_Sing_closed) We take the following as an axiom:
∀U, ZF_closed UxU, {x} U
Axiom. (ZF_binunion_closed) We take the following as an axiom:
∀U, ZF_closed UX YU, (X Y) U
Axiom. (ZF_ordsucc_closed) We take the following as an axiom:
∀U, ZF_closed UxU, ordsucc x U
Axiom. (nat_p_UnivOf_Empty) We take the following as an axiom:
∀n : set, nat_p nn UnivOf Empty
Primitive. The name ω is a term of type set.
Axiom. (omega_nat_p) We take the following as an axiom:
nω, nat_p n
Axiom. (nat_p_omega) We take the following as an axiom:
∀n : set, nat_p nn ω
Axiom. (omega_ordsucc) We take the following as an axiom:
nω, ordsucc n ω
Definition. We define ordinal to be λalpha : setTransSet alpha betaalpha, TransSet beta of type setprop.
Axiom. (ordinal_TransSet) We take the following as an axiom:
∀alpha : set, ordinal alphaTransSet alpha
Axiom. (ordinal_Empty) We take the following as an axiom:
ordinal Empty
Axiom. (ordinal_Hered) We take the following as an axiom:
∀alpha : set, ordinal alphabetaalpha, ordinal beta
Axiom. (TransSet_ordsucc) We take the following as an axiom:
∀X : set, TransSet XTransSet (ordsucc X)
Axiom. (ordinal_ordsucc) We take the following as an axiom:
∀alpha : set, ordinal alphaordinal (ordsucc alpha)
Axiom. (nat_p_ordinal) We take the following as an axiom:
∀n : set, nat_p nordinal n
Axiom. (ordinal_1) We take the following as an axiom:
ordinal 1
Axiom. (ordinal_2) We take the following as an axiom:
ordinal 2
Axiom. (omega_TransSet) We take the following as an axiom:
TransSet ω
Axiom. (omega_ordinal) We take the following as an axiom:
ordinal ω
Axiom. (ordsucc_omega_ordinal) We take the following as an axiom:
ordinal (ordsucc ω)
Axiom. (TransSet_ordsucc_In_Subq) We take the following as an axiom:
∀X : set, TransSet XxX, ordsucc x X
Axiom. (ordinal_ordsucc_In_Subq) We take the following as an axiom:
∀alpha, ordinal alphabetaalpha, ordsucc beta alpha
Axiom. (ordinal_trichotomy_or) We take the following as an axiom:
∀alpha beta : set, ordinal alphaordinal betaalpha beta alpha = beta beta alpha
Axiom. (ordinal_trichotomy_or_impred) We take the following as an axiom:
∀alpha beta : set, ordinal alphaordinal beta∀p : prop, (alpha betap)(alpha = betap)(beta alphap)p
Axiom. (ordinal_In_Or_Subq) We take the following as an axiom:
∀alpha beta, ordinal alphaordinal betaalpha beta beta alpha
Axiom. (ordinal_linear) We take the following as an axiom:
∀alpha beta, ordinal alphaordinal betaalpha beta beta alpha
Axiom. (ordinal_ordsucc_In_eq) We take the following as an axiom:
∀alpha beta, ordinal alphabeta alphaordsucc beta alpha alpha = ordsucc beta
Axiom. (ordinal_lim_or_succ) We take the following as an axiom:
∀alpha, ordinal alpha(betaalpha, ordsucc beta alpha) (betaalpha, alpha = ordsucc beta)
Axiom. (ordinal_ordsucc_In) We take the following as an axiom:
∀alpha, ordinal alphabetaalpha, ordsucc beta ordsucc alpha
Axiom. (ordinal_famunion) We take the following as an axiom:
∀X, ∀F : setset, (xX, ordinal (F x))ordinal (xXF x)
Axiom. (ordinal_binintersect) We take the following as an axiom:
∀alpha beta, ordinal alphaordinal betaordinal (alpha beta)
Axiom. (ordinal_binunion) We take the following as an axiom:
∀alpha beta, ordinal alphaordinal betaordinal (alpha beta)
Axiom. (ordinal_ind) We take the following as an axiom:
∀p : setprop, (∀alpha, ordinal alpha(betaalpha, p beta)p alpha)∀alpha, ordinal alphap alpha
Axiom. (least_ordinal_ex) We take the following as an axiom:
∀p : setprop, (alpha, ordinal alpha p alpha)alpha, ordinal alpha p alpha betaalpha, ¬ p beta
Definition. We define inj to be λX Y f ⇒ (uX, f u Y) (u vX, f u = f vu = v) of type setset(setset)prop.
Definition. We define bij to be λX Y f ⇒ (uX, f u Y) (u vX, f u = f vu = v) (wY, uX, f u = w) of type setset(setset)prop.
Axiom. (bijI) We take the following as an axiom:
∀X Y, ∀f : setset, (uX, f u Y)(u vX, f u = f vu = v)(wY, uX, f u = w)bij X Y f
Axiom. (bijE) We take the following as an axiom:
∀X Y, ∀f : setset, bij X Y f∀p : prop, ((uX, f u Y)(u vX, f u = f vu = v)(wY, uX, f u = w)p)p
Primitive. The name inv is a term of type set(setset)setset.
Axiom. (surj_rinv) We take the following as an axiom:
∀X Y, ∀f : setset, (wY, uX, f u = w)yY, inv X f y X f (inv X f y) = y
Axiom. (inj_linv) We take the following as an axiom:
∀X, ∀f : setset, (u vX, f u = f vu = v)xX, inv X f (f x) = x
Axiom. (bij_inv) We take the following as an axiom:
∀X Y, ∀f : setset, bij X Y fbij Y X (inv X f)
Axiom. (bij_id) We take the following as an axiom:
∀X, bij X X (λx ⇒ x)
Axiom. (bij_comp) We take the following as an axiom:
∀X Y Z : set, ∀f g : setset, bij X Y fbij Y Z gbij X Z (λx ⇒ g (f x))
Definition. We define equip to be λX Y : setf : setset, bij X Y f of type setsetprop.
Axiom. (equip_ref) We take the following as an axiom:
∀X, equip X X
Axiom. (equip_sym) We take the following as an axiom:
∀X Y, equip X Yequip Y X
Axiom. (equip_tra) We take the following as an axiom:
∀X Y Z, equip X Yequip Y Zequip X Z
Axiom. (equip_0_Empty) We take the following as an axiom:
∀X, equip X 0X = 0
Beginning of Section SchroederBernstein
Axiom. (KnasterTarski_set) We take the following as an axiom:
∀A, ∀F : setset, (U𝒫 A, F U 𝒫 A)(U V𝒫 A, U VF U F V)Y𝒫 A, F Y = Y
Axiom. (image_In_Power) We take the following as an axiom:
∀A B, ∀f : setset, (xA, f x B)U𝒫 A, {f x|xU} 𝒫 B
Axiom. (image_monotone) We take the following as an axiom:
∀f : setset, ∀U V, U V{f x|xU} {f x|xV}
Axiom. (setminus_antimonotone) We take the following as an axiom:
∀A U V, U VA V A U
Axiom. (SchroederBernstein) We take the following as an axiom:
∀A B, ∀f g : setset, inj A B finj B A gequip A B
End of Section SchroederBernstein
Beginning of Section PigeonHole
Axiom. (PigeonHole_nat) We take the following as an axiom:
∀n, nat_p n∀f : setset, (iordsucc n, f i n)¬ (i jordsucc n, f i = f ji = j)
Axiom. (PigeonHole_nat_bij) We take the following as an axiom:
∀n, nat_p n∀f : setset, (in, f i n)(i jn, f i = f ji = j)bij n n f
End of Section PigeonHole
Definition. We define finite to be λX ⇒ nω, equip X n of type setprop.
Axiom. (finite_ind) We take the following as an axiom:
∀p : setprop, p Empty(∀X y, finite Xy Xp Xp (X {y}))∀X, finite Xp X
Axiom. (finite_Empty) We take the following as an axiom:
finite 0
Axiom. (adjoin_finite) We take the following as an axiom:
∀X y, finite Xfinite (X {y})
Axiom. (binunion_finite) We take the following as an axiom:
∀X, finite X∀Y, finite Yfinite (X Y)
Axiom. (famunion_nat_finite) We take the following as an axiom:
∀X : setset, ∀n, nat_p n(in, finite (X i))finite (inX i)
Axiom. (Subq_finite) We take the following as an axiom:
∀X, finite X∀Y, Y Xfinite Y
Axiom. (TransSet_In_ordsucc_Subq) We take the following as an axiom:
∀x y, TransSet yx ordsucc yx y
Axiom. (exandE_i) We take the following as an axiom:
∀P Q : setprop, (x, P x Q x)∀r : prop, (∀x, P xQ xr)r
Axiom. (exandE_ii) We take the following as an axiom:
∀P Q : (setset)prop, (x : setset, P x Q x)∀p : prop, (∀x : setset, P xQ xp)p
Axiom. (exandE_iii) We take the following as an axiom:
∀P Q : (setsetset)prop, (x : setsetset, P x Q x)∀p : prop, (∀x : setsetset, P xQ xp)p
Axiom. (exandE_iiii) We take the following as an axiom:
∀P Q : (setsetsetset)prop, (x : setsetsetset, P x Q x)∀p : prop, (∀x : setsetsetset, P xQ xp)p
Beginning of Section Descr_ii
Variable P : (setset)prop
Primitive. The name Descr_ii is a term of type setset.
Hypothesis Pex : f : setset, P f
Hypothesis Puniq : ∀f g : setset, P fP gf = g
Axiom. (Descr_ii_prop) We take the following as an axiom:
End of Section Descr_ii
Beginning of Section Descr_iii
Variable P : (setsetset)prop
Primitive. The name Descr_iii is a term of type setsetset.
Hypothesis Pex : f : setsetset, P f
Hypothesis Puniq : ∀f g : setsetset, P fP gf = g
Axiom. (Descr_iii_prop) We take the following as an axiom:
End of Section Descr_iii
Beginning of Section Descr_Vo1
Variable P : Vo 1prop
Primitive. The name Descr_Vo1 is a term of type Vo 1.
Hypothesis Pex : f : Vo 1, P f
Hypothesis Puniq : ∀f g : Vo 1, P fP gf = g
Axiom. (Descr_Vo1_prop) We take the following as an axiom:
End of Section Descr_Vo1
Beginning of Section If_ii
Variable p : prop
Variable f g : setset
Primitive. The name If_ii is a term of type setset.
Axiom. (If_ii_1) We take the following as an axiom:
pIf_ii = f
Axiom. (If_ii_0) We take the following as an axiom:
¬ pIf_ii = g
End of Section If_ii
Beginning of Section If_iii
Variable p : prop
Variable f g : setsetset
Primitive. The name If_iii is a term of type setsetset.
Axiom. (If_iii_1) We take the following as an axiom:
pIf_iii = f
Axiom. (If_iii_0) We take the following as an axiom:
¬ pIf_iii = g
End of Section If_iii
Beginning of Section EpsilonRec_i
Variable F : set(setset)set
Primitive. The name In_rec_i is a term of type setset.
Hypothesis Fr : ∀X : set, ∀g h : setset, (xX, g x = h x)F X g = F X h
Axiom. (In_rec_i_eq) We take the following as an axiom:
∀X : set, In_rec_i X = F X In_rec_i
End of Section EpsilonRec_i
Beginning of Section EpsilonRec_ii
Variable F : set(set(setset))(setset)
Primitive. The name In_rec_ii is a term of type set(setset).
Hypothesis Fr : ∀X : set, ∀g h : set(setset), (xX, g x = h x)F X g = F X h
Axiom. (In_rec_ii_eq) We take the following as an axiom:
∀X : set, In_rec_ii X = F X In_rec_ii
End of Section EpsilonRec_ii
Beginning of Section EpsilonRec_iii
Variable F : set(set(setsetset))(setsetset)
Primitive. The name In_rec_iii is a term of type set(setsetset).
Hypothesis Fr : ∀X : set, ∀g h : set(setsetset), (xX, g x = h x)F X g = F X h
Axiom. (In_rec_iii_eq) We take the following as an axiom:
∀X : set, In_rec_iii X = F X In_rec_iii
End of Section EpsilonRec_iii
Beginning of Section NatRec
Variable z : set
Variable f : setsetset
Let F : set(setset)setλn g ⇒ if n n then f ( n) (g ( n)) else z
Definition. We define nat_primrec to be In_rec_i F of type setset.
Axiom. (nat_primrec_r) We take the following as an axiom:
∀X : set, ∀g h : setset, (xX, g x = h x)F X g = F X h
Axiom. (nat_primrec_0) We take the following as an axiom:
Axiom. (nat_primrec_S) We take the following as an axiom:
∀n : set, nat_p nnat_primrec (ordsucc n) = f n (nat_primrec n)
End of Section NatRec
Beginning of Section NatArith
Definition. We define add_nat to be λn m : setnat_primrec n (λ_ r ⇒ ordsucc r) m of type setsetset.
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term add_nat.
Axiom. (add_nat_0R) We take the following as an axiom:
∀n : set, n + 0 = n
Axiom. (add_nat_SR) We take the following as an axiom:
∀n m : set, nat_p mn + ordsucc m = ordsucc (n + m)
Axiom. (add_nat_p) We take the following as an axiom:
∀n : set, nat_p n∀m : set, nat_p mnat_p (n + m)
Axiom. (add_nat_1_1_2) We take the following as an axiom:
1 + 1 = 2
Definition. We define mul_nat to be λn m : setnat_primrec 0 (λ_ r ⇒ n + r) m of type setsetset.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mul_nat.
Axiom. (mul_nat_0R) We take the following as an axiom:
∀n : set, n * 0 = 0
Axiom. (mul_nat_SR) We take the following as an axiom:
∀n m : set, nat_p mn * ordsucc m = n + n * m
Axiom. (mul_nat_p) We take the following as an axiom:
∀n : set, nat_p n∀m : set, nat_p mnat_p (n * m)
End of Section NatArith
Definition. We define Inj1 to be In_rec_i (λX f ⇒ {0} {f x|xX}) of type setset.
Axiom. (Inj1_eq) We take the following as an axiom:
∀X : set, Inj1 X = {0} {Inj1 x|xX}
Axiom. (Inj1I1) We take the following as an axiom:
∀X : set, 0 Inj1 X
Axiom. (Inj1I2) We take the following as an axiom:
∀X x : set, x XInj1 x Inj1 X
Axiom. (Inj1E) We take the following as an axiom:
∀X y : set, y Inj1 Xy = 0 xX, y = Inj1 x
Axiom. (Inj1NE1) We take the following as an axiom:
∀x : set, Inj1 x 0
Axiom. (Inj1NE2) We take the following as an axiom:
∀x : set, Inj1 x {0}
Definition. We define Inj0 to be λX ⇒ {Inj1 x|xX} of type setset.
Axiom. (Inj0I) We take the following as an axiom:
∀X x : set, x XInj1 x Inj0 X
Axiom. (Inj0E) We take the following as an axiom:
∀X y : set, y Inj0 Xx : set, x X y = Inj1 x
Definition. We define Unj to be In_rec_i (λX f ⇒ {f x|xX {0}}) of type setset.
Axiom. (Unj_eq) We take the following as an axiom:
∀X : set, Unj X = {Unj x|xX {0}}
Axiom. (Unj_Inj1_eq) We take the following as an axiom:
∀X : set, Unj (Inj1 X) = X
Axiom. (Inj1_inj) We take the following as an axiom:
∀X Y : set, Inj1 X = Inj1 YX = Y
Axiom. (Unj_Inj0_eq) We take the following as an axiom:
∀X : set, Unj (Inj0 X) = X
Axiom. (Inj0_inj) We take the following as an axiom:
∀X Y : set, Inj0 X = Inj0 YX = Y
Axiom. (Inj0_0) We take the following as an axiom:
Inj0 0 = 0
Axiom. (Inj0_Inj1_neq) We take the following as an axiom:
∀X Y : set, Inj0 X Inj1 Y
Definition. We define setsum to be λX Y ⇒ {Inj0 x|xX} {Inj1 y|yY} of type setsetset.
Notation. We use + as an infix operator with priority 450 and which associates to the left corresponding to applying term setsum.
Axiom. (Inj0_setsum) We take the following as an axiom:
∀X Y x : set, x XInj0 x X + Y
Axiom. (Inj1_setsum) We take the following as an axiom:
∀X Y y : set, y YInj1 y X + Y
Axiom. (setsum_Inj_inv) We take the following as an axiom:
∀X Y z : set, z X + Y(xX, z = Inj0 x) (yY, z = Inj1 y)
Axiom. (Inj0_setsum_0L) We take the following as an axiom:
∀X : set, 0 + X = Inj0 X
Axiom. (Subq_1_Sing0) We take the following as an axiom:
1 {0}
Axiom. (Inj1_setsum_1L) We take the following as an axiom:
∀X : set, 1 + X = Inj1 X
Axiom. (nat_setsum1_ordsucc) We take the following as an axiom:
∀n : set, nat_p n1 + n = ordsucc n
Axiom. (setsum_0_0) We take the following as an axiom:
0 + 0 = 0
Axiom. (setsum_1_0_1) We take the following as an axiom:
1 + 0 = 1
Axiom. (setsum_1_1_2) We take the following as an axiom:
1 + 1 = 2
Beginning of Section pair_setsum
Let pair ≝ setsum
Definition. We define proj0 to be λZ ⇒ {Unj z|zZ, x : set, Inj0 x = z} of type setset.
Definition. We define proj1 to be λZ ⇒ {Unj z|zZ, y : set, Inj1 y = z} of type setset.
Axiom. (Inj0_pair_0_eq) We take the following as an axiom:
Inj0 = pair 0
Axiom. (Inj1_pair_1_eq) We take the following as an axiom:
Inj1 = pair 1
Axiom. (pairI0) We take the following as an axiom:
∀X Y x, x Xpair 0 x pair X Y
Axiom. (pairI1) We take the following as an axiom:
∀X Y y, y Ypair 1 y pair X Y
Axiom. (pairE) We take the following as an axiom:
∀X Y z, z pair X Y(xX, z = pair 0 x) (yY, z = pair 1 y)
Axiom. (pairE0) We take the following as an axiom:
∀X Y x, pair 0 x pair X Yx X
Axiom. (pairE1) We take the following as an axiom:
∀X Y y, pair 1 y pair X Yy Y
Axiom. (proj0I) We take the following as an axiom:
∀w u : set, pair 0 u wu proj0 w
Axiom. (proj0E) We take the following as an axiom:
∀w u : set, u proj0 wpair 0 u w
Axiom. (proj1I) We take the following as an axiom:
∀w u : set, pair 1 u wu proj1 w
Axiom. (proj1E) We take the following as an axiom:
∀w u : set, u proj1 wpair 1 u w
Axiom. (proj0_pair_eq) We take the following as an axiom:
∀X Y : set, proj0 (pair X Y) = X
Axiom. (proj1_pair_eq) We take the following as an axiom:
∀X Y : set, proj1 (pair X Y) = Y
Definition. We define Sigma to be λX Y ⇒ xX{pair x y|yY x} of type set(setset)set.
Notation. We use x...y [possibly with ascriptions] , B as a binder notation corresponding to a term constructed using Sigma.
Axiom. (pair_Sigma) We take the following as an axiom:
∀X : set, ∀Y : setset, xX, yY x, pair x y xX, Y x
Axiom. (Sigma_eta_proj0_proj1) We take the following as an axiom:
∀X : set, ∀Y : setset, z(xX, Y x), pair (proj0 z) (proj1 z) = z proj0 z X proj1 z Y (proj0 z)
Axiom. (proj_Sigma_eta) We take the following as an axiom:
∀X : set, ∀Y : setset, z(xX, Y x), pair (proj0 z) (proj1 z) = z
Axiom. (proj0_Sigma) We take the following as an axiom:
∀X : set, ∀Y : setset, ∀z : set, z (xX, Y x)proj0 z X
Axiom. (proj1_Sigma) We take the following as an axiom:
∀X : set, ∀Y : setset, ∀z : set, z (xX, Y x)proj1 z Y (proj0 z)
Axiom. (pair_Sigma_E1) We take the following as an axiom:
∀X : set, ∀Y : setset, ∀x y : set, pair x y (xX, Y x)y Y x
Axiom. (Sigma_E) We take the following as an axiom:
∀X : set, ∀Y : setset, ∀z : set, z (xX, Y x)xX, yY x, z = pair x y
Definition. We define setprod to be λX Y : setxX, Y of type setsetset.
Notation. We use as an infix operator with priority 440 and which associates to the left corresponding to applying term setprod.
Let lam : set(setset)setSigma
Definition. We define ap to be λf x ⇒ {proj1 z|zf, y : set, z = pair x y} of type setsetset.
Notation. When x is a set, a term x y is notation for ap x y.
Notation. λ xAB is notation for the set Sigma Ax : set ⇒ B).
Notation. We now use n-tuple notation (a0,...,an-1) for n ≥ 2 for λ i ∈ n . if i = 0 then a0 else ... if i = n-2 then an-2 else an-1.
Axiom. (lamI) We take the following as an axiom:
∀X : set, ∀F : setset, xX, yF x, pair x y λxX F x
Axiom. (lamE) We take the following as an axiom:
∀X : set, ∀F : setset, ∀z : set, z (λxX F x)xX, yF x, z = pair x y
Axiom. (apI) We take the following as an axiom:
∀f x y, pair x y fy f x
Axiom. (apE) We take the following as an axiom:
∀f x y, y f xpair x y f
Axiom. (beta) We take the following as an axiom:
∀X : set, ∀F : setset, ∀x : set, x X(λxX F x) x = F x
Axiom. (proj0_ap_0) We take the following as an axiom:
∀u, proj0 u = u 0
Axiom. (proj1_ap_1) We take the following as an axiom:
∀u, proj1 u = u 1
Axiom. (pair_ap_0) We take the following as an axiom:
∀x y : set, (pair x y) 0 = x
Axiom. (pair_ap_1) We take the following as an axiom:
∀x y : set, (pair x y) 1 = y
Axiom. (ap0_Sigma) We take the following as an axiom:
∀X : set, ∀Y : setset, ∀z : set, z (xX, Y x)(z 0) X
Axiom. (ap1_Sigma) We take the following as an axiom:
∀X : set, ∀Y : setset, ∀z : set, z (xX, Y x)(z 1) (Y (z 0))
Definition. We define pair_p to be λu : setpair (u 0) (u 1) = u of type setprop.
Axiom. (pair_p_I) We take the following as an axiom:
∀x y, pair_p (pair x y)
Axiom. (Subq_2_UPair01) We take the following as an axiom:
Axiom. (tuple_pair) We take the following as an axiom:
∀x y : set, pair x y = (x,y)
Definition. We define Pi to be λX Y ⇒ {f𝒫 (xX, (Y x))|xX, f x Y x} of type set(setset)set.
Notation. We use x...y [possibly with ascriptions] , B as a binder notation corresponding to a term constructed using Pi.
Axiom. (PiI) We take the following as an axiom:
∀X : set, ∀Y : setset, ∀f : set, (uf, pair_p u u 0 X)(xX, f x Y x)f xX, Y x
Axiom. (lam_Pi) We take the following as an axiom:
∀X : set, ∀Y : setset, ∀F : setset, (xX, F x Y x)(λxX F x) (xX, Y x)
Axiom. (ap_Pi) We take the following as an axiom:
∀X : set, ∀Y : setset, ∀f : set, ∀x : set, f (xX, Y x)x Xf x Y x
Definition. We define setexp to be λX Y : setyY, X of type setsetset.
Notation. We use :^: as an infix operator with priority 430 and which associates to the left corresponding to applying term setexp.
Axiom. (pair_tuple_fun) We take the following as an axiom:
pair = (λx y ⇒ (x,y))
Axiom. (lamI2) We take the following as an axiom:
∀X, ∀F : setset, xX, yF x, (x,y) λxX F x
Beginning of Section Tuples
Variable x0 x1 : set
Axiom. (tuple_2_0_eq) We take the following as an axiom:
(x0,x1) 0 = x0
Axiom. (tuple_2_1_eq) We take the following as an axiom:
(x0,x1) 1 = x1
End of Section Tuples
Axiom. (ReplEq_setprod_ext) We take the following as an axiom:
∀X Y, ∀F G : setsetset, (xX, yY, F x y = G x y){F (w 0) (w 1)|wX Y} = {G (w 0) (w 1)|wX Y}
Axiom. (tuple_2_Sigma) We take the following as an axiom:
∀X : set, ∀Y : setset, xX, yY x, (x,y) xX, Y x
Axiom. (tuple_2_setprod) We take the following as an axiom:
∀X : set, ∀Y : set, xX, yY, (x,y) X Y
End of Section pair_setsum
Notation. We use x...y [possibly with ascriptions] , B as a binder notation corresponding to a term constructed using Sigma.
Notation. We use as an infix operator with priority 440 and which associates to the left corresponding to applying term setprod.
Notation. We use x...y [possibly with ascriptions] , B as a binder notation corresponding to a term constructed using Pi.
Notation. We use :^: as an infix operator with priority 430 and which associates to the left corresponding to applying term setexp.
Definition. We define DescrR_i_io_1 to be λR ⇒ Eps_i (λx ⇒ (y : setprop, R x y) (∀y z : setprop, R x yR x zy = z)) of type (set(setprop)prop)set.
Definition. We define DescrR_i_io_2 to be λR ⇒ Descr_Vo1 (λy ⇒ R (DescrR_i_io_1 R) y) of type (set(setprop)prop)setprop.
Theorem. (DescrR_i_io_12) The following is provable:
∀R : set(setprop)prop, (x, (y : setprop, R x y) (∀y z : setprop, R x yR x zy = z))R (DescrR_i_io_1 R) (DescrR_i_io_2 R)
Proof:
Let R be given.
Assume H1: x, (y : setprop, R x y) (∀y z : setprop, R x yR x zy = z).
We prove the intermediate claim L1: (y : setprop, R (DescrR_i_io_1 R) y) (∀y z : setprop, R (DescrR_i_io_1 R) yR (DescrR_i_io_1 R) zy = z).
An exact proof term for the current goal is (Eps_i_ex (λx ⇒ (y : setprop, R x y) (∀y z : setprop, R x yR x zy = z)) H1).
Apply L1 to the current goal.
Assume H2 H3.
An exact proof term for the current goal is Descr_Vo1_prop (λy ⇒ R (DescrR_i_io_1 R) y) H2 H3.
Definition. We define PNoEq_ to be λalpha p q ⇒ betaalpha, p beta q beta of type set(setprop)(setprop)prop.
Theorem. (PNoEq_ref_) The following is provable:
∀alpha, ∀p : setprop, PNoEq_ alpha p p
Proof:
Let alpha, p and beta be given.
Assume H2.
Apply iff_refl to the current goal.
Theorem. (PNoEq_sym_) The following is provable:
∀alpha, ∀p q : setprop, PNoEq_ alpha p qPNoEq_ alpha q p
Proof:
Let alpha, p and q be given.
Assume H1.
Let beta be given.
Assume H2.
Apply iff_sym to the current goal.
An exact proof term for the current goal is H1 beta H2.
Theorem. (PNoEq_tra_) The following is provable:
∀alpha, ∀p q r : setprop, PNoEq_ alpha p qPNoEq_ alpha q rPNoEq_ alpha p r
Proof:
Let alpha, p, q and r be given.
Assume H1 H2.
Let beta be given.
Assume H3.
Apply iff_trans (p beta) (q beta) to the current goal.
An exact proof term for the current goal is H1 beta H3.
An exact proof term for the current goal is H2 beta H3.
Theorem. (PNoEq_antimon_) The following is provable:
∀p q : setprop, ∀alpha, ordinal alphabetaalpha, PNoEq_ alpha p qPNoEq_ beta p q
Proof:
Let p, q and alpha be given.
Assume Ha.
Let beta be given.
Assume Hb H1.
Let gamma be given.
Assume H2: gamma beta.
We will prove p gamma q gamma.
Apply H1 to the current goal.
We will prove gamma alpha.
Apply Ha to the current goal.
Assume Ha1 _.
An exact proof term for the current goal is Ha1 beta Hb gamma H2.
Definition. We define PNoLt_ to be λalpha p q ⇒ betaalpha, PNoEq_ beta p q ¬ p beta q beta of type set(setprop)(setprop)prop.
Theorem. (PNoLt_E_) The following is provable:
∀alpha, ∀p q : setprop, PNoLt_ alpha p q∀R : prop, (∀beta, beta alphaPNoEq_ beta p q¬ p betaq betaR)R
Proof:
Let alpha, p and q be given.
Assume H1.
Let R be given.
Assume H2.
Apply H1 to the current goal.
Let beta be given.
Assume H3.
Apply H3 to the current goal.
Assume H4: beta alpha.
Assume H5.
Apply H5 to the current goal.
Assume H5.
Apply H5 to the current goal.
Assume H6 H7 H8.
An exact proof term for the current goal is H2 beta H4 H6 H7 H8.
Theorem. (PNoLt_irref_) The following is provable:
∀alpha, ∀p : setprop, ¬ PNoLt_ alpha p p
Proof:
Let alpha and p be given.
Assume H1.
Apply H1 to the current goal.
Let beta be given.
Assume H2.
Apply H2 to the current goal.
Assume _ H3.
Apply H3 to the current goal.
Assume H3.
Apply H3 to the current goal.
Assume _ H4 H5.
An exact proof term for the current goal is H4 H5.
Theorem. (PNoLt_mon_) The following is provable:
∀p q : setprop, ∀alpha, ordinal alphabetaalpha, PNoLt_ beta p qPNoLt_ alpha p q
Proof:
Let p, q and alpha be given.
Assume Ha.
Let beta be given.
Assume Hb H1.
Apply H1 to the current goal.
Let gamma be given.
Assume H2.
Apply H2 to the current goal.
Assume H2: gamma beta.
Assume H3.
We will prove betaalpha, PNoEq_ beta p q ¬ p beta q beta.
We use gamma to witness the existential quantifier.
Apply andI to the current goal.
We will prove gamma alpha.
Apply Ha to the current goal.
Assume Ha1 _.
An exact proof term for the current goal is Ha1 beta Hb gamma H2.
An exact proof term for the current goal is H3.
Theorem. (PNoLt_trichotomy_or_) The following is provable:
∀p q : setprop, ∀alpha, ordinal alphaPNoLt_ alpha p q PNoEq_ alpha p q PNoLt_ alpha q p
Proof:
Let p and q be given.
Apply ordinal_ind to the current goal.
Let alpha be given.
Assume Ha.
Assume IH: betaalpha, PNoLt_ beta p q PNoEq_ beta p q PNoLt_ beta q p.
Apply xm (PNoEq_ alpha p q) to the current goal.
Assume H1: PNoEq_ alpha p q.
Apply orIL to the current goal.
Apply orIR to the current goal.
An exact proof term for the current goal is H1.
Assume H1: ¬ PNoEq_ alpha p q.
We prove the intermediate claim L1: beta, ¬ (beta alpha(p beta q beta)).
An exact proof term for the current goal is not_all_ex_demorgan_i (λbeta ⇒ beta alpha(p beta q beta)) H1.
Apply L1 to the current goal.
Let beta be given.
Assume H2: ¬ (beta alpha(p beta q beta)).
We prove the intermediate claim L2: beta alpha ¬ (p beta q beta).
Apply xm (beta alpha) to the current goal.
Assume H3: beta alpha.
Apply xm (p beta q beta) to the current goal.
Assume H4: p beta q beta.
We will prove False.
Apply H2 to the current goal.
Assume _.
An exact proof term for the current goal is H4.
Assume H4: ¬ (p beta q beta).
Apply andI to the current goal.
An exact proof term for the current goal is H3.
An exact proof term for the current goal is H4.
Assume H3: beta alpha.
We will prove False.
Apply H2 to the current goal.
Assume H4.
We will prove False.
An exact proof term for the current goal is H3 H4.
Apply L2 to the current goal.
Assume H3: beta alpha.
Assume H4: ¬ (p beta q beta).
Apply IH beta H3 to the current goal.
Assume H5.
Apply H5 to the current goal.
Assume H5: PNoLt_ beta p q.
Apply orIL to the current goal.
Apply orIL to the current goal.
An exact proof term for the current goal is PNoLt_mon_ p q alpha Ha beta H3 H5.
Assume H5: PNoEq_ beta p q.
Apply xm (p beta) to the current goal.
Assume H6: p beta.
Apply xm (q beta) to the current goal.
Assume H7: q beta.
We will prove False.
Apply H4 to the current goal.
Apply iffI to the current goal.
Assume _.
An exact proof term for the current goal is H7.
Assume _.
An exact proof term for the current goal is H6.
Assume H7: ¬ q beta.
Apply orIR to the current goal.
We will prove betaalpha, PNoEq_ beta q p ¬ q beta p beta.
We use beta to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is H3.
Apply and3I to the current goal.
Apply PNoEq_sym_ to the current goal.
An exact proof term for the current goal is H5.
An exact proof term for the current goal is H7.
An exact proof term for the current goal is H6.
Assume H6: ¬ p beta.
Apply xm (q beta) to the current goal.
Assume H7: q beta.
Apply orIL to the current goal.
Apply orIL to the current goal.
We will prove betaalpha, PNoEq_ beta p q ¬ p beta q beta.
We use beta to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is H3.
Apply and3I to the current goal.
An exact proof term for the current goal is H5.
An exact proof term for the current goal is H6.
An exact proof term for the current goal is H7.
Assume H7: ¬ q beta.
We will prove False.
Apply H4 to the current goal.
Apply iffI to the current goal.
Assume H8.
We will prove False.
An exact proof term for the current goal is H6 H8.
Assume H8.
We will prove False.
An exact proof term for the current goal is H7 H8.
Assume H5: PNoLt_ beta q p.
Apply orIR to the current goal.
An exact proof term for the current goal is PNoLt_mon_ q p alpha Ha beta H3 H5.
Theorem. (PNoLt_tra_) The following is provable:
∀alpha, ordinal alpha∀p q r : setprop, PNoLt_ alpha p qPNoLt_ alpha q rPNoLt_ alpha p r
Proof:
Let alpha be given.
Assume Ha.
Let p, q and r be given.
Assume Hpq Hqr.
We will prove betaalpha, PNoEq_ beta p r ¬ p beta r beta.
Apply PNoLt_E_ alpha p q Hpq to the current goal.
Let beta be given.
Assume Hbeta1: beta alpha.
Assume Hbeta2: PNoEq_ beta p q.
Assume Hbeta3: ¬ p beta.
Assume Hbeta4: q beta.
Apply PNoLt_E_ alpha q r Hqr to the current goal.
Let gamma be given.
Assume Hgamma1: gamma alpha.
Assume Hgamma2: PNoEq_ gamma q r.
Assume Hgamma3: ¬ q gamma.
Assume Hgamma4: r gamma.
We prove the intermediate claim Lbeta: ordinal beta.
An exact proof term for the current goal is ordinal_Hered alpha Ha beta Hbeta1.
We prove the intermediate claim Lgamma: ordinal gamma.
An exact proof term for the current goal is ordinal_Hered alpha Ha gamma Hgamma1.
Apply ordinal_trichotomy_or beta gamma Lbeta Lgamma to the current goal.
Assume H1.
Apply H1 to the current goal.
Assume H1: beta gamma.
We use beta to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is Hbeta1.
Apply and3I to the current goal.
We will prove PNoEq_ beta p r.
Apply PNoEq_tra_ beta p q r Hbeta2 to the current goal.
We will prove PNoEq_ beta q r.
An exact proof term for the current goal is PNoEq_antimon_ q r gamma Lgamma beta H1 Hgamma2.
We will prove ¬ p beta.
An exact proof term for the current goal is Hbeta3.
We will prove r beta.
Apply Hgamma2 beta H1 to the current goal.
Assume H2 _.
An exact proof term for the current goal is H2 Hbeta4.
Assume H1: beta = gamma.
We use beta to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is Hbeta1.
Apply and3I to the current goal.
We will prove PNoEq_ beta p r.
Apply PNoEq_tra_ beta p q r Hbeta2 to the current goal.
We will prove PNoEq_ beta q r.
rewrite the current goal using H1 (from left to right).
An exact proof term for the current goal is Hgamma2.
We will prove ¬ p beta.
An exact proof term for the current goal is Hbeta3.
We will prove r beta.
rewrite the current goal using H1 (from left to right).
An exact proof term for the current goal is Hgamma4.
Assume H1: gamma beta.
We use gamma to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is Hgamma1.
Apply and3I to the current goal.
We will prove PNoEq_ gamma p r.
Apply PNoEq_tra_ gamma p q r to the current goal.
We will prove PNoEq_ gamma p q.
An exact proof term for the current goal is PNoEq_antimon_ p q beta Lbeta gamma H1 Hbeta2.
An exact proof term for the current goal is Hgamma2.
We will prove ¬ p gamma.
Assume H2: p gamma.
Apply Hbeta2 gamma H1 to the current goal.
Assume H3 _.
Apply Hgamma3 to the current goal.
We will prove q gamma.
An exact proof term for the current goal is H3 H2.
We will prove r gamma.
An exact proof term for the current goal is Hgamma4.
Definition. We define PNoLt to be λalpha p beta q ⇒ PNoLt_ (alpha beta) p q alpha beta PNoEq_ alpha p q q alpha beta alpha PNoEq_ beta p q ¬ p beta of type set(setprop)set(setprop)prop.
Theorem. (PNoLtI1) The following is provable:
∀alpha beta, ∀p q : setprop, PNoLt_ (alpha beta) p qPNoLt alpha p beta q
Proof:
Let alpha, beta, p and q be given.
Assume H1.
We will prove PNoLt_ (alpha beta) p q alpha beta PNoEq_ alpha p q q alpha beta alpha PNoEq_ beta p q ¬ p beta.
Apply or3I1 to the current goal.
An exact proof term for the current goal is H1.
Theorem. (PNoLtI2) The following is provable:
∀alpha beta, ∀p q : setprop, alpha betaPNoEq_ alpha p qq alphaPNoLt alpha p beta q
Proof:
Let alpha, beta, p and q be given.
Assume H1 H2 H3.
We will prove PNoLt_ (alpha beta) p q alpha beta PNoEq_ alpha p q q alpha beta alpha PNoEq_ beta p q ¬ p beta.
Apply or3I2 to the current goal.
Apply and3I to the current goal.
An exact proof term for the current goal is H1.
An exact proof term for the current goal is H2.
An exact proof term for the current goal is H3.
Theorem. (PNoLtI3) The following is provable:
∀alpha beta, ∀p q : setprop, beta alphaPNoEq_ beta p q¬ p betaPNoLt alpha p beta q
Proof:
Let alpha, beta, p and q be given.
Assume H1 H2 H3.
We will prove PNoLt_ (alpha beta) p q alpha beta PNoEq_ alpha p q q alpha beta alpha PNoEq_ beta p q ¬ p beta.
Apply or3I3 to the current goal.
Apply and3I to the current goal.
An exact proof term for the current goal is H1.
An exact proof term for the current goal is H2.
An exact proof term for the current goal is H3.
Theorem. (PNoLtE) The following is provable:
∀alpha beta, ∀p q : setprop, PNoLt alpha p beta q∀R : prop, (PNoLt_ (alpha beta) p qR)(alpha betaPNoEq_ alpha p qq alphaR)(beta alphaPNoEq_ beta p q¬ p betaR)R
Proof:
Let alpha, beta, p and q be given.
Assume H1.
Let R be given.
Assume HC1 HC2 HC3.
Apply H1 to the current goal.
Assume H1.
Apply H1 to the current goal.
An exact proof term for the current goal is HC1.
Assume H1.
Apply H1 to the current goal.
Assume H1.
Apply H1 to the current goal.
An exact proof term for the current goal is HC2.
Assume H1.
Apply H1 to the current goal.
Assume H1.
Apply H1 to the current goal.
An exact proof term for the current goal is HC3.
Theorem. (PNoLt_irref) The following is provable:
∀alpha, ∀p : setprop, ¬ PNoLt alpha p alpha p
Proof:
Let alpha and p be given.
Assume H1.
Apply PNoLtE alpha alpha p p H1 to the current goal.
Assume H1: PNoLt_ (alpha alpha) p p.
An exact proof term for the current goal is PNoLt_irref_ (alpha alpha) p H1.
Assume H1: alpha alpha.
We will prove False.
An exact proof term for the current goal is In_irref alpha H1.
Assume H1: alpha alpha.
We will prove False.
An exact proof term for the current goal is In_irref alpha H1.
Theorem. (PNoLt_trichotomy_or) The following is provable:
∀alpha beta, ∀p q : setprop, ordinal alphaordinal betaPNoLt alpha p beta q alpha = beta PNoEq_ alpha p q PNoLt beta q alpha p
Proof:
Let alpha, beta, p and q be given.
Assume Ha Hb.
Apply Ha to the current goal.
Assume Ha1 _.
Apply Hb to the current goal.
Assume Hb1 _.
We prove the intermediate claim Lab: ordinal (alpha beta).
An exact proof term for the current goal is ordinal_binintersect alpha beta Ha Hb.
Apply PNoLt_trichotomy_or_ p q (alpha beta) Lab to the current goal.
Assume H1.
Apply H1 to the current goal.
Assume H1: PNoLt_ (alpha beta) p q.
Apply or3I1 to the current goal.
Apply PNoLtI1 to the current goal.
An exact proof term for the current goal is H1.
Assume H1: PNoEq_ (alpha beta) p q.
Apply ordinal_trichotomy_or alpha beta Ha Hb to the current goal.
Assume H2.
Apply H2 to the current goal.
Assume H2: alpha beta.
We prove the intermediate claim L1: alpha beta = alpha.
An exact proof term for the current goal is binintersect_Subq_eq_1 alpha beta (Hb1 alpha H2).
We prove the intermediate claim L2: PNoEq_ alpha p q.
rewrite the current goal using L1 (from right to left).
An exact proof term for the current goal is H1.
Apply xm (q alpha) to the current goal.
Assume H3: q alpha.
Apply or3I1 to the current goal.
Apply PNoLtI2 to the current goal.
An exact proof term for the current goal is H2.
We will prove PNoEq_ alpha p q.
An exact proof term for the current goal is L2.
An exact proof term for the current goal is H3.
Assume H3: ¬ q alpha.
Apply or3I3 to the current goal.
Apply PNoLtI3 to the current goal.
An exact proof term for the current goal is H2.
We will prove PNoEq_ alpha q p.
Apply PNoEq_sym_ to the current goal.
An exact proof term for the current goal is L2.
An exact proof term for the current goal is H3.
Assume H2: alpha = beta.
We prove the intermediate claim L1: alpha beta = alpha.
rewrite the current goal using H2 (from right to left).
An exact proof term for the current goal is binintersect_Subq_eq_1 alpha alpha (Subq_ref alpha).
We prove the intermediate claim L2: PNoEq_ alpha p q.
rewrite the current goal using L1 (from right to left).
An exact proof term for the current goal is H1.
Apply or3I2 to the current goal.
Apply andI to the current goal.
An exact proof term for the current goal is H2.
We will prove PNoEq_ alpha p q.
An exact proof term for the current goal is L2.
Assume H2: beta alpha.
We prove the intermediate claim L1: alpha beta = beta.
rewrite the current goal using binintersect_com (from left to right).
An exact proof term for the current goal is binintersect_Subq_eq_1 beta alpha (Ha1 beta H2).
We prove the intermediate claim L2: PNoEq_ beta p q.
rewrite the current goal using L1 (from right to left).
An exact proof term for the current goal is H1.
Apply xm (p beta) to the current goal.
Assume H3: p beta.
Apply or3I3 to the current goal.
Apply PNoLtI2 to the current goal.
An exact proof term for the current goal is H2.
We will prove PNoEq_ beta q p.
Apply PNoEq_sym_ to the current goal.
An exact proof term for the current goal is L2.
An exact proof term for the current goal is H3.
Assume H3: ¬ p beta.
Apply or3I1 to the current goal.
Apply PNoLtI3 to the current goal.
An exact proof term for the current goal is H2.
We will prove PNoEq_ beta p q.
An exact proof term for the current goal is L2.
An exact proof term for the current goal is H3.
Assume H1: PNoLt_ (alpha beta) q p.
Apply or3I3 to the current goal.
Apply PNoLtI1 to the current goal.
rewrite the current goal using binintersect_com (from left to right).
An exact proof term for the current goal is H1.
Theorem. (PNoLtEq_tra) The following is provable:
∀alpha beta, ordinal alphaordinal beta∀p q r : setprop, PNoLt alpha p beta qPNoEq_ beta q rPNoLt alpha p beta r
Proof:
Let alpha and beta be given.
Assume Ha Hb.
Let p, q and r be given.
Assume Hpq Hqr.
Apply PNoLtE alpha beta p q Hpq to the current goal.
Assume Hpq1: PNoLt_ (alpha beta) p q.
Apply Hpq1 to the current goal.
Let delta be given.
Assume Hpq2.
Apply Hpq2 to the current goal.
Assume Hd: delta alpha beta.
Apply binintersectE alpha beta delta Hd to the current goal.
Assume Hd1 Hd2.
Assume Hpq3.
Apply Hpq3 to the current goal.
Assume Hpq3.
Apply Hpq3 to the current goal.
Assume Hpq3: PNoEq_ delta p q.
Assume Hpq4: ¬ p delta.
Assume Hpq5: q delta.
We will prove PNoLt alpha p beta r.
Apply PNoLtI1 to the current goal.
We will prove deltaalpha beta, PNoEq_ delta p r ¬ p delta r delta.
We use delta to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is Hd.
Apply and3I to the current goal.
We will prove PNoEq_ delta p r.
Apply PNoEq_tra_ delta p q r to the current goal.
We will prove PNoEq_ delta p q.
An exact proof term for the current goal is Hpq3.
We will prove PNoEq_ delta q r.
Apply PNoEq_antimon_ q r beta Hb delta Hd2 to the current goal.
We will prove PNoEq_ beta q r.
An exact proof term for the current goal is Hqr.
We will prove ¬ p delta.
An exact proof term for the current goal is Hpq4.
We will prove r delta.
An exact proof term for the current goal is iffEL (q delta) (r delta) (Hqr delta Hd2) Hpq5.
Assume Hpq1: alpha beta.
Assume Hpq2: PNoEq_ alpha p q.
Assume Hpq3: q alpha.
We will prove PNoLt alpha p beta r.
Apply PNoLtI2 to the current goal.
We will prove alpha beta.
An exact proof term for the current goal is Hpq1.
We will prove PNoEq_ alpha p r.
Apply PNoEq_tra_ alpha p q r to the current goal.
An exact proof term for the current goal is Hpq2.
We will prove PNoEq_ alpha q r.
Apply PNoEq_antimon_ q r beta Hb alpha Hpq1 to the current goal.
An exact proof term for the current goal is Hqr.
We will prove r alpha.
An exact proof term for the current goal is iffEL (q alpha) (r alpha) (Hqr alpha Hpq1) Hpq3.
Assume Hpq1: beta alpha.
Assume Hpq2: PNoEq_ beta p q.
Assume Hpq3: ¬ p beta.
We will prove PNoLt alpha p beta r.
Apply PNoLtI3 to the current goal.
We will prove beta alpha.
An exact proof term for the current goal is Hpq1.
We will prove PNoEq_ beta p r.
Apply PNoEq_tra_ beta p q r to the current goal.
An exact proof term for the current goal is Hpq2.
An exact proof term for the current goal is Hqr.
We will prove ¬ p beta.
An exact proof term for the current goal is Hpq3.
Theorem. (PNoEqLt_tra) The following is provable:
∀alpha beta, ordinal alphaordinal beta∀p q r : setprop, PNoEq_ alpha p qPNoLt alpha q beta rPNoLt alpha p beta r
Proof:
Let alpha and beta be given.
Assume Ha Hb.
Let p, q and r be given.
Assume Hpq Hqr.
Apply PNoLtE alpha beta q r Hqr to the current goal.
Assume Hqr1: PNoLt_ (alpha beta) q r.
Apply Hqr1 to the current goal.
Let delta be given.
Assume Hqr2.
Apply Hqr2 to the current goal.
Assume Hd: delta alpha beta.
Apply binintersectE alpha beta delta Hd to the current goal.
Assume Hd1 Hd2.
Assume Hqr3.
Apply Hqr3 to the current goal.
Assume Hqr3.
Apply Hqr3 to the current goal.
Assume Hqr3: PNoEq_ delta q r.
Assume Hqr4: ¬ q delta.
Assume Hqr5: r delta.
We will prove PNoLt alpha p beta r.
Apply PNoLtI1 to the current goal.
We will prove deltaalpha beta, PNoEq_ delta p r ¬ p delta r delta.
We use delta to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is Hd.
Apply and3I to the current goal.
We will prove PNoEq_ delta p r.
Apply PNoEq_tra_ delta p q r to the current goal.
We will prove PNoEq_ delta p q.
Apply PNoEq_antimon_ p q alpha Ha delta Hd1 to the current goal.
We will prove PNoEq_ alpha p q.
An exact proof term for the current goal is Hpq.
We will prove PNoEq_ delta q r.
An exact proof term for the current goal is Hqr3.
We will prove ¬ p delta.
Assume H1: p delta.
Apply Hqr4 to the current goal.
We will prove q delta.
An exact proof term for the current goal is iffEL (p delta) (q delta) (Hpq delta Hd1) H1.
We will prove r delta.
An exact proof term for the current goal is Hqr5.
Assume Hqr1: alpha beta.
Assume Hqr2: PNoEq_ alpha q r.
Assume Hqr3: r alpha.
We will prove PNoLt alpha p beta r.
Apply PNoLtI2 to the current goal.
We will prove alpha beta.
An exact proof term for the current goal is Hqr1.
We will prove PNoEq_ alpha p r.
Apply PNoEq_tra_ alpha p q r to the current goal.
An exact proof term for the current goal is Hpq.
An exact proof term for the current goal is Hqr2.
We will prove r alpha.
An exact proof term for the current goal is Hqr3.
Assume Hqr1: beta alpha.
Assume Hqr2: PNoEq_ beta q r.
Assume Hqr3: ¬ q beta.
We will prove PNoLt alpha p beta r.
Apply PNoLtI3 to the current goal.
We will prove beta alpha.
An exact proof term for the current goal is Hqr1.
We will prove PNoEq_ beta p r.
Apply PNoEq_tra_ beta p q r to the current goal.
Apply PNoEq_antimon_ p q alpha Ha beta Hqr1 to the current goal.
An exact proof term for the current goal is Hpq.
An exact proof term for the current goal is Hqr2.
We will prove ¬ p beta.
Assume H1: p beta.
Apply Hqr3 to the current goal.
An exact proof term for the current goal is iffEL (p beta) (q beta) (Hpq beta Hqr1) H1.
Theorem. (PNoLt_tra) The following is provable:
∀alpha beta gamma, ordinal alphaordinal betaordinal gamma∀p q r : setprop, PNoLt alpha p beta qPNoLt beta q gamma rPNoLt alpha p gamma r
Proof:
Let alpha, beta and gamma be given.
Assume Ha Hb Hc.
Apply Ha to the current goal.
Assume Ha1 _.
Apply Hc to the current goal.
Assume Hc1 _.
Let p, q and r be given.
Assume Hpq Hqr.
Apply PNoLtE alpha beta p q Hpq to the current goal.
Assume Hpq1: PNoLt_ (alpha beta) p q.
Apply Hpq1 to the current goal.
Let delta be given.
Assume Hpq2.
Apply Hpq2 to the current goal.
Assume Hd: delta alpha beta.
Apply binintersectE alpha beta delta Hd to the current goal.
Assume Hd1 Hd2.
Assume Hpq3.
Apply Hpq3 to the current goal.
Assume Hpq3.
Apply Hpq3 to the current goal.
Assume Hpq3: PNoEq_ delta p q.
Assume Hpq4: ¬ p delta.
Assume Hpq5: q delta.
We prove the intermediate claim Ld: ordinal delta.
An exact proof term for the current goal is ordinal_Hered beta Hb delta Hd2.
Apply PNoLtE beta gamma q r Hqr to the current goal.
Assume Hqr1: PNoLt_ (beta gamma) q r.
Apply Hqr1 to the current goal.
Let eps be given.
Assume Hqr2.
Apply Hqr2 to the current goal.
Assume He: eps beta gamma.
Apply binintersectE beta gamma eps He to the current goal.
Assume He1 He2.
Assume Hqr3.
Apply Hqr3 to the current goal.
Assume Hqr3.
Apply Hqr3 to the current goal.
Assume Hqr3: PNoEq_ eps q r.
Assume Hqr4: ¬ q eps.
Assume Hqr5: r eps.
We prove the intermediate claim Le: ordinal eps.
An exact proof term for the current goal is ordinal_Hered beta Hb eps He1.
We will prove PNoLt alpha p gamma r.
Apply PNoLtI1 to the current goal.
We will prove deltaalpha gamma, PNoEq_ delta p r ¬ p delta r delta.
Apply ordinal_trichotomy_or delta eps Ld Le to the current goal.
Assume H1.
Apply H1 to the current goal.
Assume H1: delta eps.
We use delta to witness the existential quantifier.
Apply andI to the current goal.
We will prove delta alpha gamma.
Apply binintersectI to the current goal.
An exact proof term for the current goal is Hd1.
We will prove delta gamma.
An exact proof term for the current goal is Hc1 eps He2 delta H1.
Apply and3I to the current goal.
We will prove PNoEq_ delta p r.
Apply PNoEq_tra_ delta p q r to the current goal.
We will prove PNoEq_ delta p q.
An exact proof term for the current goal is Hpq3.
We will prove PNoEq_ delta q r.
Apply PNoEq_antimon_ q r eps Le delta H1 to the current goal.
We will prove PNoEq_ eps q r.
An exact proof term for the current goal is Hqr3.
We will prove ¬ p delta.
An exact proof term for the current goal is Hpq4.
We will prove r delta.
An exact proof term for the current goal is iffEL (q delta) (r delta) (Hqr3 delta H1) Hpq5.
Assume H1: delta = eps.
We use delta to witness the existential quantifier.
Apply andI to the current goal.
We will prove delta alpha gamma.
Apply binintersectI to the current goal.
An exact proof term for the current goal is Hd1.
We will prove delta gamma.
rewrite the current goal using H1 (from left to right).
An exact proof term for the current goal is He2.
Apply and3I to the current goal.
We will prove PNoEq_ delta p r.
Apply PNoEq_tra_ delta p q r to the current goal.
We will prove PNoEq_ delta p q.
An exact proof term for the current goal is Hpq3.
We will prove PNoEq_ delta q r.
rewrite the current goal using H1 (from left to right).
An exact proof term for the current goal is Hqr3.
We will prove ¬ p delta.
An exact proof term for the current goal is Hpq4.
We will prove r delta.
rewrite the current goal using H1 (from left to right).
An exact proof term for the current goal is Hqr5.
Assume H1: eps delta.
We use eps to witness the existential quantifier.
Apply andI to the current goal.
We will prove eps alpha gamma.
Apply binintersectI to the current goal.
We will prove eps alpha.
An exact proof term for the current goal is Ha1 delta Hd1 eps H1.
An exact proof term for the current goal is He2.
Apply and3I to the current goal.
We will prove PNoEq_ eps p r.
Apply PNoEq_tra_ eps p q r to the current goal.
We will prove PNoEq_ eps p q.
Apply PNoEq_antimon_ p q delta Ld eps H1 to the current goal.
We will prove PNoEq_ delta p q.
An exact proof term for the current goal is Hpq3.
We will prove PNoEq_ eps q r.
An exact proof term for the current goal is Hqr3.
We will prove ¬ p eps.
Assume H2: p eps.
Apply Hqr4 to the current goal.
An exact proof term for the current goal is iffEL (p eps) (q eps) (Hpq3 eps H1) H2.
We will prove r eps.
An exact proof term for the current goal is Hqr5.
Assume Hqr1: beta gamma.
Assume Hqr2: PNoEq_ beta q r.
Assume Hqr3: r beta.
Apply PNoLtI1 to the current goal.
We will prove deltaalpha gamma, PNoEq_ delta p r ¬ p delta r delta.
We use delta to witness the existential quantifier.
Apply andI to the current goal.
We will prove delta alpha gamma.
Apply binintersectI to the current goal.
An exact proof term for the current goal is Hd1.
We will prove delta gamma.
An exact proof term for the current goal is Hc1 beta Hqr1 delta Hd2.
Apply and3I to the current goal.
We will prove PNoEq_ delta p r.
Apply PNoEq_tra_ delta p q r to the current goal.
We will prove PNoEq_ delta p q.
An exact proof term for the current goal is Hpq3.
We will prove PNoEq_ delta q r.
Apply PNoEq_antimon_ q r beta Hb delta Hd2 to the current goal.
We will prove PNoEq_ beta q r.
An exact proof term for the current goal is Hqr2.
We will prove ¬ p delta.
An exact proof term for the current goal is Hpq4.
We will prove r delta.
An exact proof term for the current goal is iffEL (q delta) (r delta) (Hqr2 delta Hd2) Hpq5.
Assume Hqr1: gamma beta.
Assume Hqr2: PNoEq_ gamma q r.
Assume Hqr3: ¬ q gamma.
Apply ordinal_trichotomy_or delta gamma Ld Hc to the current goal.
Assume H1.
Apply H1 to the current goal.
Assume H1: delta gamma.
We will prove PNoLt alpha p gamma r.
Apply PNoLtI1 to the current goal.
We will prove deltaalpha gamma, PNoEq_ delta p r ¬ p delta r delta.
We use delta to witness the existential quantifier.
Apply andI to the current goal.
We will prove delta alpha gamma.
Apply binintersectI to the current goal.
An exact proof term for the current goal is Hd1.
We will prove delta gamma.
An exact proof term for the current goal is H1.
Apply and3I to the current goal.
We will prove PNoEq_ delta p r.
Apply PNoEq_tra_ delta p q r to the current goal.
We will prove PNoEq_ delta p q.
An exact proof term for the current goal is Hpq3.
We will prove PNoEq_ delta q r.
Apply PNoEq_antimon_ q r gamma Hc delta H1 to the current goal.
We will prove PNoEq_ gamma q r.
An exact proof term for the current goal is Hqr2.
We will prove ¬ p delta.
An exact proof term for the current goal is Hpq4.
We will prove r delta.
An exact proof term for the current goal is iffEL (q delta) (r delta) (Hqr2 delta H1) Hpq5.
Assume H1: delta = gamma.
Apply PNoLtI3 to the current goal.
We will prove gamma alpha.
rewrite the current goal using H1 (from right to left).
An exact proof term for the current goal is Hd1.
We will prove PNoEq_ gamma p r.
Apply PNoEq_tra_ gamma p q r to the current goal.
We will prove PNoEq_ gamma p q.
rewrite the current goal using H1 (from right to left).
An exact proof term for the current goal is Hpq3.
We will prove PNoEq_ gamma q r.
An exact proof term for the current goal is Hqr2.
We will prove ¬ p gamma.
rewrite the current goal using H1 (from right to left).
An exact proof term for the current goal is Hpq4.
Assume H1: gamma delta.
Apply PNoLtI3 to the current goal.
We will prove gamma alpha.
An exact proof term for the current goal is Ha1 delta Hd1 gamma H1.
We will prove PNoEq_ gamma p r.
Apply PNoEq_tra_ gamma p q r to the current goal.
We will prove PNoEq_ gamma p q.
Apply PNoEq_antimon_ p q delta Ld gamma H1 to the current goal.
An exact proof term for the current goal is Hpq3.
We will prove PNoEq_ gamma q r.
An exact proof term for the current goal is Hqr2.
We will prove ¬ p gamma.
Assume H2: p gamma.
Apply Hqr3 to the current goal.
We will prove q gamma.
An exact proof term for the current goal is iffEL (p gamma) (q gamma) (Hpq3 gamma H1) H2.
Assume Hpq1: alpha beta.
Assume Hpq2: PNoEq_ alpha p q.
Assume Hpq3: q alpha.
Apply PNoLtE beta gamma q r Hqr to the current goal.
Assume Hqr1: PNoLt_ (beta gamma) q r.
Apply Hqr1 to the current goal.
Let eps be given.
Assume Hqr2.
Apply Hqr2 to the current goal.
Assume He: eps beta gamma.
Apply binintersectE beta gamma eps He to the current goal.
Assume He1 He2.
Assume Hqr3.
Apply Hqr3 to the current goal.
Assume Hqr3.
Apply Hqr3 to the current goal.
Assume Hqr3: PNoEq_ eps q r.
Assume Hqr4: ¬ q eps.
Assume Hqr5: r eps.
We prove the intermediate claim Le: ordinal eps.
An exact proof term for the current goal is ordinal_Hered beta Hb eps He1.
Apply ordinal_trichotomy_or alpha eps Ha Le to the current goal.
Assume H1.
Apply H1 to the current goal.
Assume H1: alpha eps.
We will prove PNoLt alpha p gamma r.
Apply PNoLtI2 to the current goal.
We will prove alpha gamma.
An exact proof term for the current goal is Hc1 eps He2 alpha H1.
We will prove PNoEq_ alpha p r.
Apply PNoEq_tra_ alpha p q r to the current goal.
We will prove PNoEq_ alpha p q.
An exact proof term for the current goal is Hpq2.
We will prove PNoEq_ alpha q r.
Apply PNoEq_antimon_ q r eps Le alpha H1 to the current goal.
We will prove PNoEq_ eps q r.
An exact proof term for the current goal is Hqr3.
We will prove r alpha.
An exact proof term for the current goal is iffEL (q alpha) (r alpha) (Hqr3 alpha H1) Hpq3.
Assume H1: alpha = eps.
We will prove PNoLt alpha p gamma r.
Apply PNoLtI2 to the current goal.
We will prove alpha gamma.
rewrite the current goal using H1 (from left to right).
An exact proof term for the current goal is He2.
We will prove PNoEq_ alpha p r.
Apply PNoEq_tra_ alpha p q r to the current goal.
We will prove PNoEq_ alpha p q.
An exact proof term for the current goal is Hpq2.
We will prove PNoEq_ alpha q r.
rewrite the current goal using H1 (from left to right).
We will prove PNoEq_ eps q r.
An exact proof term for the current goal is Hqr3.
We will prove r alpha.
rewrite the current goal using H1 (from left to right).
An exact proof term for the current goal is Hqr5.
Assume H1: eps alpha.
We will prove PNoLt alpha p gamma r.
Apply PNoLtI1 to the current goal.
We will prove deltaalpha gamma, PNoEq_ delta p r ¬ p delta r delta.
We use eps to witness the existential quantifier.
Apply andI to the current goal.
We will prove eps alpha gamma.
Apply binintersectI to the current goal.
An exact proof term for the current goal is H1.
An exact proof term for the current goal is He2.
Apply and3I to the current goal.
We will prove PNoEq_ eps p r.
Apply PNoEq_tra_ eps p q r to the current goal.
We will prove PNoEq_ eps p q.
Apply PNoEq_antimon_ p q alpha Ha eps H1 to the current goal.
We will prove PNoEq_ alpha p q.
An exact proof term for the current goal is Hpq2.
We will prove PNoEq_ eps q r.
An exact proof term for the current goal is Hqr3.
We will prove ¬ p eps.
Assume H2: p eps.
Apply Hqr4 to the current goal.
We will prove q eps.
An exact proof term for the current goal is iffEL (p eps) (q eps) (Hpq2 eps H1) H2.
We will prove r eps.
An exact proof term for the current goal is Hqr5.
Assume Hqr1: beta gamma.
Assume Hqr2: PNoEq_ beta q r.
Assume Hqr3: r beta.
Apply PNoLtI2 to the current goal.
We will prove alpha gamma.
An exact proof term for the current goal is Hc1 beta Hqr1 alpha Hpq1.
We will prove PNoEq_ alpha p r.
Apply PNoEq_tra_ alpha p q r to the current goal.
An exact proof term for the current goal is Hpq2.
Apply PNoEq_antimon_ q r beta Hb alpha Hpq1 to the current goal.
An exact proof term for the current goal is Hqr2.
We will prove r alpha.
An exact proof term for the current goal is iffEL (q alpha) (r alpha) (Hqr2 alpha Hpq1) Hpq3.
Assume Hqr1: gamma beta.
Assume Hqr2: PNoEq_ gamma q r.
Assume Hqr3: ¬ q gamma.
We will prove PNoLt alpha p gamma r.
Apply ordinal_trichotomy_or alpha gamma Ha Hc to the current goal.
Assume H1.
Apply H1 to the current goal.
Assume H1: alpha gamma.
Apply PNoLtI2 to the current goal.
We will prove alpha gamma.
An exact proof term for the current goal is H1.
We will prove PNoEq_ alpha p r.
Apply PNoEq_tra_ alpha p q r to the current goal.
An exact proof term for the current goal is Hpq2.
Apply PNoEq_antimon_ q r gamma Hc alpha H1 to the current goal.
An exact proof term for the current goal is Hqr2.
We will prove r alpha.
An exact proof term for the current goal is iffEL (q alpha) (r alpha) (Hqr2 alpha H1) Hpq3.
Assume H1: alpha = gamma.
We will prove False.
Apply Hqr3 to the current goal.
rewrite the current goal using H1 (from right to left).
An exact proof term for the current goal is Hpq3.
Assume H1: gamma alpha.
Apply PNoLtI3 to the current goal.
We will prove gamma alpha.
An exact proof term for the current goal is H1.
We will prove PNoEq_ gamma p r.
Apply PNoEq_tra_ gamma p q r to the current goal.
Apply PNoEq_antimon_ p q alpha Ha gamma H1 to the current goal.
An exact proof term for the current goal is Hpq2.
An exact proof term for the current goal is Hqr2.
We will prove ¬ p gamma.
Assume H2: p gamma.
Apply Hqr3 to the current goal.
We will prove q gamma.
An exact proof term for the current goal is iffEL (p gamma) (q gamma) (Hpq2 gamma H1) H2.
Assume Hpq1: beta alpha.
Assume Hpq2: PNoEq_ beta p q.
Assume Hpq3: ¬ p beta.
Apply PNoLtE beta gamma q r Hqr to the current goal.
Assume Hqr1: PNoLt_ (beta gamma) q r.
Apply Hqr1 to the current goal.
Let eps be given.
Assume Hqr2.
Apply Hqr2 to the current goal.
Assume He: eps beta gamma.
Apply binintersectE beta gamma eps He to the current goal.
Assume He1 He2.
Assume Hqr3.
Apply Hqr3 to the current goal.
Assume Hqr3.
Apply Hqr3 to the current goal.
Assume Hqr3: PNoEq_ eps q r.
Assume Hqr4: ¬ q eps.
Assume Hqr5: r eps.
We will prove PNoLt alpha p gamma r.
Apply PNoLtI1 to the current goal.
We will prove deltaalpha gamma, PNoEq_ delta p r ¬ p delta r delta.
We use eps to witness the existential quantifier.
Apply andI to the current goal.
We will prove eps alpha gamma.
Apply binintersectI to the current goal.
We will prove eps alpha.
An exact proof term for the current goal is Ha1 beta Hpq1 eps He1.
An exact proof term for the current goal is He2.
Apply and3I to the current goal.
We will prove PNoEq_ eps p r.
Apply PNoEq_tra_ eps p q r to the current goal.
We will prove PNoEq_ eps p q.
Apply PNoEq_antimon_ p q beta Hb eps He1 to the current goal.
An exact proof term for the current goal is Hpq2.
An exact proof term for the current goal is Hqr3.
We will prove ¬ p eps.
Assume H1: p eps.
Apply Hqr4 to the current goal.
We will prove q eps.
An exact proof term for the current goal is iffEL (p eps) (q eps) (Hpq2 eps He1) H1.
We will prove r eps.
An exact proof term for the current goal is Hqr5.
Assume Hqr1: beta gamma.
Assume Hqr2: PNoEq_ beta q r.
Assume Hqr3: r beta.
Apply PNoLtI1 to the current goal.
We will prove deltaalpha gamma, PNoEq_ delta p r ¬ p delta r delta.
We use beta to witness the existential quantifier.
Apply andI to the current goal.
Apply binintersectI to the current goal.
An exact proof term for the current goal is Hpq1.
An exact proof term for the current goal is Hqr1.
Apply and3I to the current goal.
Apply PNoEq_tra_ beta p q r to the current goal.
An exact proof term for the current goal is Hpq2.
An exact proof term for the current goal is Hqr2.
We will prove ¬ p beta.
An exact proof term for the current goal is Hpq3.
We will prove r beta.
An exact proof term for the current goal is Hqr3.
Assume Hqr1: gamma beta.
Assume Hqr2: PNoEq_ gamma q r.
Assume Hqr3: ¬ q gamma.
Apply PNoLtI3 to the current goal.
We will prove gamma alpha.
An exact proof term for the current goal is Ha1 beta Hpq1 gamma Hqr1.
We will prove PNoEq_ gamma p r.
Apply PNoEq_tra_ gamma p q r to the current goal.
We will prove PNoEq_ gamma p q.
Apply PNoEq_antimon_ p q beta Hb gamma Hqr1 to the current goal.
An exact proof term for the current goal is Hpq2.
An exact proof term for the current goal is Hqr2.
We will prove ¬ p gamma.
Assume H1: p gamma.
Apply Hqr3 to the current goal.
We will prove q gamma.
An exact proof term for the current goal is iffEL (p gamma) (q gamma) (Hpq2 gamma Hqr1) H1.
Definition. We define PNoLe to be λalpha p beta q ⇒ PNoLt alpha p beta q alpha = beta PNoEq_ alpha p q of type set(setprop)set(setprop)prop.
Theorem. (PNoLeI1) The following is provable:
∀alpha beta, ∀p q : setprop, PNoLt alpha p beta qPNoLe alpha p beta q
Proof:
Let alpha, beta, p and q be given.
Assume H1.
We will prove PNoLt alpha p beta q alpha = beta PNoEq_ alpha p q.
Apply orIL to the current goal.
An exact proof term for the current goal is H1.
Theorem. (PNoLeI2) The following is provable:
∀alpha, ∀p q : setprop, PNoEq_ alpha p qPNoLe alpha p alpha q
Proof:
Let alpha, p and q be given.
Assume H1.
We will prove PNoLt alpha p alpha q alpha = alpha PNoEq_ alpha p q.
Apply orIR to the current goal.
Apply andI to the current goal.
Use reflexivity.
An exact proof term for the current goal is H1.
Theorem. (PNoLe_ref) The following is provable:
∀alpha, ∀p : setprop, PNoLe alpha p alpha p
Proof:
Let alpha and p be given.
Apply PNoLeI2 to the current goal.
Apply PNoEq_ref_ to the current goal.
Theorem. (PNoLe_antisym) The following is provable:
∀alpha beta, ordinal alphaordinal beta∀p q : setprop, PNoLe alpha p beta qPNoLe beta q alpha palpha = beta PNoEq_ alpha p q
Proof:
Let alpha and beta be given.
Assume Ha Hb.
Let p and q be given.
Assume H1: PNoLt alpha p beta q alpha = beta PNoEq_ alpha p q.
Assume H2: PNoLt beta q alpha p beta = alpha PNoEq_ beta q p.
Apply H1 to the current goal.
Assume H1: PNoLt alpha p beta q.
We will prove False.
Apply H2 to the current goal.
Assume H2: PNoLt beta q alpha p.
Apply PNoLt_irref alpha p to the current goal.
Apply PNoLt_tra alpha beta alpha Ha Hb Ha p q p to the current goal.
An exact proof term for the current goal is H1.
An exact proof term for the current goal is H2.
Assume H2.
Apply H2 to the current goal.
Assume H2a: beta = alpha.
Assume H2b: PNoEq_ beta q p.
Apply PNoLtE alpha beta p q H1 to the current goal.
Assume Hpq1: PNoLt_ (alpha beta) p q.
Apply Hpq1 to the current goal.
Let delta be given.
Assume Hpq2.
Apply Hpq2 to the current goal.
Assume Hd: delta alpha beta.
Apply binintersectE alpha beta delta Hd to the current goal.
Assume Hd1 Hd2.
Assume Hpq3.
Apply Hpq3 to the current goal.
Assume Hpq3.
Apply Hpq3 to the current goal.
Assume Hpq3: PNoEq_ delta p q.
Assume Hpq4: ¬ p delta.
Assume Hpq5: q delta.
Apply Hpq4 to the current goal.
An exact proof term for the current goal is iffEL (q delta) (p delta) (H2b delta Hd2) Hpq5.
Assume Hpq1: alpha beta.
Assume Hpq2: PNoEq_ alpha p q.
Assume Hpq3: q alpha.
Apply In_irref alpha to the current goal.
rewrite the current goal using H2a (from right to left) at position 2.
An exact proof term for the current goal is Hpq1.
Assume Hpq1: beta alpha.
Assume Hpq2: PNoEq_ beta p q.
Assume Hpq3: ¬ p beta.
Apply In_irref alpha to the current goal.
rewrite the current goal using H2a (from right to left) at position 1.
An exact proof term for the current goal is Hpq1.
Assume H1.
An exact proof term for the current goal is H1.
Theorem. (PNoLtLe_tra) The following is provable:
∀alpha beta gamma, ordinal alphaordinal betaordinal gamma∀p q r : setprop, PNoLt alpha p beta qPNoLe beta q gamma rPNoLt alpha p gamma r
Proof:
Let alpha, beta and gamma be given.
Assume Ha Hb Hc.
Let p, q and r be given.
Assume H1: PNoLt alpha p beta q.
Assume H2: PNoLt beta q gamma r beta = gamma PNoEq_ beta q r.
Apply H2 to the current goal.
Assume H2: PNoLt beta q gamma r.
An exact proof term for the current goal is PNoLt_tra alpha beta gamma Ha Hb Hc p q r H1 H2.
Assume H2.
Apply H2 to the current goal.
Assume H2a: beta = gamma.
Assume H2b: PNoEq_ beta q r.
We will prove PNoLt alpha p gamma r.
rewrite the current goal using H2a (from right to left).
We will prove PNoLt alpha p beta r.
An exact proof term for the current goal is PNoLtEq_tra alpha beta Ha Hb p q r H1 H2b.
Theorem. (PNoLeLt_tra) The following is provable:
∀alpha beta gamma, ordinal alphaordinal betaordinal gamma∀p q r : setprop, PNoLe alpha p beta qPNoLt beta q gamma rPNoLt alpha p gamma r
Proof:
Let alpha, beta and gamma be given.
Assume Ha Hb Hc.
Let p, q and r be given.
Assume H1: PNoLt alpha p beta q alpha = beta PNoEq_ alpha p q.
Assume H2: PNoLt beta q gamma r.
Apply H1 to the current goal.
Assume H1: PNoLt alpha p beta q.
An exact proof term for the current goal is PNoLt_tra alpha beta gamma Ha Hb Hc p q r H1 H2.
Assume H1.
Apply H1 to the current goal.
Assume H1a: alpha = beta.
Assume H1b: PNoEq_ alpha p q.
We will prove PNoLt alpha p gamma r.
rewrite the current goal using H1a (from left to right).
We will prove PNoLt beta p gamma r.
Apply PNoEqLt_tra beta gamma Hb Hc p q r to the current goal.
We will prove PNoEq_ beta p q.
rewrite the current goal using H1a (from right to left).
An exact proof term for the current goal is H1b.
An exact proof term for the current goal is H2.
Theorem. (PNoEqLe_tra) The following is provable:
∀alpha beta, ordinal alphaordinal beta∀p q r : setprop, PNoEq_ alpha p qPNoLe alpha q beta rPNoLe alpha p beta r
Proof:
Let alpha and beta be given.
Assume Ha Hb.
Let p, q and r be given.
Assume Hpq.
Assume Hqr: PNoLt alpha q beta r alpha = beta PNoEq_ alpha q r.
We will prove PNoLt alpha p beta r alpha = beta PNoEq_ alpha p r.
Apply Hqr to the current goal.
Assume Hqr1.
Apply orIL to the current goal.
An exact proof term for the current goal is PNoEqLt_tra alpha beta Ha Hb p q r Hpq Hqr1.
Assume Hqr.
Apply Hqr to the current goal.
Assume Hqr1: alpha = beta.
Assume Hqr2: PNoEq_ alpha q r.
Apply orIR to the current goal.
Apply andI to the current goal.
An exact proof term for the current goal is Hqr1.
An exact proof term for the current goal is PNoEq_tra_ alpha p q r Hpq Hqr2.
Theorem. (PNoLe_tra) The following is provable:
∀alpha beta gamma, ordinal alphaordinal betaordinal gamma∀p q r : setprop, PNoLe alpha p beta qPNoLe beta q gamma rPNoLe alpha p gamma r
Proof:
Let alpha, beta and gamma be given.
Assume Ha Hb Hc.
Let p, q and r be given.
Assume H1: PNoLt alpha p beta q alpha = beta PNoEq_ alpha p q.
Assume H2: PNoLe beta q gamma r.
Apply H1 to the current goal.
Assume H1: PNoLt alpha p beta q.
We will prove PNoLt alpha p gamma r alpha = gamma PNoEq_ alpha p r.
Apply orIL to the current goal.
An exact proof term for the current goal is PNoLtLe_tra alpha beta gamma Ha Hb Hc p q r H1 H2.
Assume H1.
Apply H1 to the current goal.
Assume H1a: alpha = beta.
Assume H1b: PNoEq_ alpha p q.
We will prove PNoLe alpha p gamma r.
rewrite the current goal using H1a (from left to right).
We will prove PNoLe beta p gamma r.
We prove the intermediate claim L1: PNoEq_ beta p q.
rewrite the current goal using H1a (from right to left).
An exact proof term for the current goal is H1b.
An exact proof term for the current goal is PNoEqLe_tra beta gamma Hb Hc p q r L1 H2.
Definition. We define PNo_downc to be λL alpha p ⇒ beta, ordinal beta q : setprop, L beta q PNoLe alpha p beta q of type (set(setprop)prop)set(setprop)prop.
Definition. We define PNo_upc to be λR alpha p ⇒ beta, ordinal beta q : setprop, R beta q PNoLe beta q alpha p of type (set(setprop)prop)set(setprop)prop.
Theorem. (PNoLe_downc) The following is provable:
∀L : set(setprop)prop, ∀alpha beta, ∀p q : setprop, ordinal alphaordinal betaPNo_downc L alpha pPNoLe beta q alpha pPNo_downc L beta q
Proof:
Let L, alpha, beta, p and q be given.
Assume Ha Hb.
Assume H1: PNo_downc L alpha p.
Assume H2: PNoLe beta q alpha p.
We will prove PNo_downc L beta q.
Apply H1 to the current goal.
Let gamma be given.
Assume H3.
Apply H3 to the current goal.
Assume Hc: ordinal gamma.
Assume H3.
Apply H3 to the current goal.
Let r be given.
Assume H3.
Apply H3 to the current goal.
Assume H3: L gamma r.
Assume H4: PNoLe alpha p gamma r.
We will prove delta, ordinal delta r : setprop, L delta r PNoLe beta q delta r.
We use gamma to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is Hc.
We use r to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is H3.
An exact proof term for the current goal is PNoLe_tra beta alpha gamma Hb Ha Hc q p r H2 H4.
Theorem. (PNo_downc_ref) The following is provable:
∀L : set(setprop)prop, ∀alpha, ordinal alpha∀p : setprop, L alpha pPNo_downc L alpha p
Proof:
Let L and alpha be given.
Assume Ha.
Let p be given.
Assume H1: L alpha p.
We will prove beta, ordinal beta q : setprop, L beta q PNoLe alpha p beta q.
We use alpha to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is Ha.
We use p to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is H1.
Apply PNoLe_ref to the current goal.
Theorem. (PNo_upc_ref) The following is provable:
∀R : set(setprop)prop, ∀alpha, ordinal alpha∀p : setprop, R alpha pPNo_upc R alpha p
Proof:
Let R and alpha be given.
Assume Ha.
Let p be given.
Assume H1: R alpha p.
We will prove beta, ordinal beta q : setprop, R beta q PNoLe beta q alpha p.
We use alpha to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is Ha.
We use p to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is H1.
Apply PNoLe_ref to the current goal.
Theorem. (PNoLe_upc) The following is provable:
∀R : set(setprop)prop, ∀alpha beta, ∀p q : setprop, ordinal alphaordinal betaPNo_upc R alpha pPNoLe alpha p beta qPNo_upc R beta q
Proof:
Let R, alpha, beta, p and q be given.
Assume Ha Hb.
Assume H1: PNo_upc R alpha p.
Assume H2: PNoLe alpha p beta q.
We will prove PNo_upc R beta q.
Apply H1 to the current goal.
Let gamma be given.
Assume H3.
Apply H3 to the current goal.
Assume Hc: ordinal gamma.
Assume H3.
Apply H3 to the current goal.
Let r be given.
Assume H3.
Apply H3 to the current goal.
Assume H3: R gamma r.
Assume H4: PNoLe gamma r alpha p.
We will prove delta, ordinal delta r : setprop, R delta r PNoLe delta r beta q.
We use gamma to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is Hc.
We use r to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is H3.
An exact proof term for the current goal is PNoLe_tra gamma alpha beta Hc Ha Hb r p q H4 H2.
Definition. We define PNoLt_pwise to be λL R ⇒ ∀gamma, ordinal gamma∀p : setprop, L gamma p∀delta, ordinal delta∀q : setprop, R delta qPNoLt gamma p delta q of type (set(setprop)prop)(set(setprop)prop)prop.
Theorem. (PNoLt_pwise_downc_upc) The following is provable:
∀L R : set(setprop)prop, PNoLt_pwise L RPNoLt_pwise (PNo_downc L) (PNo_upc R)
Proof:
Let L and R be given.
Assume HLR.
We will prove PNoLt_pwise (PNo_downc L) (PNo_upc R).
Let gamma be given.
Assume Hc.
Let p be given.
Assume Hp.
Let delta be given.
Assume Hd.
Let q be given.
Assume Hq.
Apply Hp to the current goal.
Let alpha be given.
Assume H1.
Apply H1 to the current goal.
Assume H2: ordinal alpha.
Assume H3.
Apply H3 to the current goal.
Let p2 be given.
Assume H3.
Apply H3 to the current goal.
Assume H4: L alpha p2.
Assume H5: PNoLe gamma p alpha p2.
Apply Hq to the current goal.
Let beta be given.
Assume H6.
Apply H6 to the current goal.
Assume H7: ordinal beta.
Assume H8.
Apply H8 to the current goal.
Let q2 be given.
Assume H9.
Apply H9 to the current goal.
Assume H10: R beta q2.
Assume H11: PNoLe beta q2 delta q.
We prove the intermediate claim L1: PNoLt gamma p delta q.
Apply PNoLeLt_tra gamma alpha delta Hc H2 Hd p p2 q H5 to the current goal.
We will prove PNoLt alpha p2 delta q.
Apply PNoLtLe_tra alpha beta delta H2 H7 Hd p2 q2 q (HLR alpha H2 p2 H4 beta H7 q2 H10) to the current goal.
We will prove PNoLe beta q2 delta q.
An exact proof term for the current goal is H11.
Apply PNoLt_trichotomy_or delta gamma q p Hd Hc to the current goal.
Assume H12.
Apply H12 to the current goal.
Assume H12: PNoLt delta q gamma p.
Apply PNoLt_irref gamma p to the current goal.
We will prove PNoLt gamma p gamma p.
Apply PNoLt_tra gamma delta gamma Hc Hd Hc p q p L1 to the current goal.
An exact proof term for the current goal is H12.
Assume H12: delta = gamma PNoEq_ delta q p.
Apply PNoLt_irref delta q to the current goal.
We will prove PNoLt delta q delta q.
Apply PNoLeLt_tra delta gamma delta Hd Hc Hd q p q to the current goal.
We will prove PNoLe delta q gamma p.
We will prove PNoLt delta q gamma p delta = gamma PNoEq_ delta q p.
Apply orIR to the current goal.
An exact proof term for the current goal is H12.
We will prove PNoLt gamma p delta q.
An exact proof term for the current goal is L1.
Assume H12: PNoLt gamma p delta q.
An exact proof term for the current goal is H12.
Definition. We define PNo_rel_strict_upperbd to be λL alpha p ⇒ betaalpha, ∀q : setprop, PNo_downc L beta qPNoLt beta q alpha p of type (set(setprop)prop)set(setprop)prop.
Definition. We define PNo_rel_strict_lowerbd to be λR alpha p ⇒ betaalpha, ∀q : setprop, PNo_upc R beta qPNoLt alpha p beta q of type (set(setprop)prop)set(setprop)prop.
Definition. We define PNo_rel_strict_imv to be λL R alpha p ⇒ PNo_rel_strict_upperbd L alpha p PNo_rel_strict_lowerbd R alpha p of type (set(setprop)prop)(set(setprop)prop)set(setprop)prop.
Theorem. (PNoEq_rel_strict_upperbd) The following is provable:
∀L : set(setprop)prop, ∀alpha, ordinal alpha∀p q : setprop, PNoEq_ alpha p qPNo_rel_strict_upperbd L alpha pPNo_rel_strict_upperbd L alpha q
Proof:
Let L and alpha be given.
Assume Ha.
Let p and q be given.
Assume Hpq: PNoEq_ alpha p q.
Assume H1: PNo_rel_strict_upperbd L alpha p.
We will prove PNo_rel_strict_upperbd L alpha q.
Let beta be given.
Assume Hb: beta alpha.
Let r be given.
Assume H2: PNo_downc L beta r.
We prove the intermediate claim Lb: ordinal beta.
An exact proof term for the current goal is ordinal_Hered alpha Ha beta Hb.
We will prove PNoLt beta r alpha q.
Apply PNoLtEq_tra beta alpha Lb Ha r p q to the current goal.
We will prove PNoLt beta r alpha p.
An exact proof term for the current goal is H1 beta Hb r H2.
We will prove PNoEq_ alpha p q.
An exact proof term for the current goal is Hpq.
Theorem. (PNo_rel_strict_upperbd_antimon) The following is provable:
∀L : set(setprop)prop, ∀alpha, ordinal alpha∀p : setprop, betaalpha, PNo_rel_strict_upperbd L alpha pPNo_rel_strict_upperbd L beta p
Proof:
Let L and alpha be given.
Assume Ha.
Let p and beta be given.
Assume Hb.
Apply Ha to the current goal.
Assume Ha1 _.
We prove the intermediate claim Lb: ordinal beta.
An exact proof term for the current goal is ordinal_Hered alpha Ha beta Hb.
We prove the intermediate claim Lbt: TransSet beta.
Apply Lb to the current goal.
Assume H2 _.
An exact proof term for the current goal is H2.
Assume H1: gammaalpha, ∀q : setprop, PNo_downc L gamma qPNoLt gamma q alpha p.
We will prove gammabeta, ∀q : setprop, PNo_downc L gamma qPNoLt gamma q beta p.
Let gamma be given.
Assume Hc.
Let q be given.
Assume H4.
We will prove PNoLt gamma q beta p.
We prove the intermediate claim Lca: gamma alpha.
An exact proof term for the current goal is Ha1 beta Hb gamma Hc.
We prove the intermediate claim L1: PNoLt gamma q alpha p.
Apply H1 to the current goal.
We will prove gamma alpha.
An exact proof term for the current goal is Lca.
We will prove PNo_downc L gamma q.
An exact proof term for the current goal is H4.
Apply PNoLtE gamma alpha q p L1 to the current goal.
Assume H5: PNoLt_ (gamma alpha) q p.
We prove the intermediate claim L2: gamma alpha = gamma.
Apply binintersect_Subq_eq_1 to the current goal.
An exact proof term for the current goal is Ha1 gamma Lca.
We prove the intermediate claim L3: gamma beta = gamma.
Apply binintersect_Subq_eq_1 to the current goal.
An exact proof term for the current goal is Lbt gamma Hc.
Apply PNoLtI1 to the current goal.
rewrite the current goal using L3 (from left to right).
rewrite the current goal using L2 (from right to left).
An exact proof term for the current goal is H5.
Assume H5: gamma alpha.
Assume H6: PNoEq_ gamma q p.
Assume H7: p gamma.
Apply PNoLtI2 to the current goal.
We will prove gamma beta.
An exact proof term for the current goal is Hc.
We will prove PNoEq_ gamma q p.
An exact proof term for the current goal is H6.
We will prove p gamma.
An exact proof term for the current goal is H7.
Assume H5: alpha gamma.
We will prove False.
An exact proof term for the current goal is In_no2cycle alpha gamma H5 Lca.
Theorem. (PNoEq_rel_strict_lowerbd) The following is provable:
∀R : set(setprop)prop, ∀alpha, ordinal alpha∀p q : setprop, PNoEq_ alpha p qPNo_rel_strict_lowerbd R alpha pPNo_rel_strict_lowerbd R alpha q
Proof:
Let R and alpha be given.
Assume Ha.
Let p and q be given.
Assume Hpq: PNoEq_ alpha p q.
Assume H1: PNo_rel_strict_lowerbd R alpha p.
We will prove PNo_rel_strict_lowerbd R alpha q.
Let beta be given.
Assume Hb: beta alpha.
Let r be given.
Assume H2: PNo_upc R beta r.
We prove the intermediate claim Lb: ordinal beta.
An exact proof term for the current goal is ordinal_Hered alpha Ha beta Hb.
We will prove PNoLt alpha q beta r.
Apply PNoEqLt_tra alpha beta Ha Lb q p r to the current goal.
We will prove PNoEq_ alpha q p.
Apply PNoEq_sym_ to the current goal.
An exact proof term for the current goal is Hpq.
We will prove PNoLt alpha p beta r.
An exact proof term for the current goal is H1 beta Hb r H2.
Theorem. (PNo_rel_strict_lowerbd_antimon) The following is provable:
∀R : set(setprop)prop, ∀alpha, ordinal alpha∀p : setprop, betaalpha, PNo_rel_strict_lowerbd R alpha pPNo_rel_strict_lowerbd R beta p
Proof:
Let R and alpha be given.
Assume Ha.
Let p and beta be given.
Assume Hb.
Apply Ha to the current goal.
Assume Ha1 _.
We prove the intermediate claim Lb: ordinal beta.
An exact proof term for the current goal is ordinal_Hered alpha Ha beta Hb.
We prove the intermediate claim Lbt: TransSet beta.
Apply Lb to the current goal.
Assume H2 _.
An exact proof term for the current goal is H2.
Assume H1: gammaalpha, ∀q : setprop, PNo_upc R gamma qPNoLt alpha p gamma q.
We will prove gammabeta, ∀q : setprop, PNo_upc R gamma qPNoLt beta p gamma q.
Let gamma be given.
Assume Hc.
Let q be given.
Assume H4.
We will prove PNoLt beta p gamma q.
We prove the intermediate claim Lca: gamma alpha.
An exact proof term for the current goal is Ha1 beta Hb gamma Hc.
We prove the intermediate claim L1: PNoLt alpha p gamma q.
Apply H1 to the current goal.
We will prove gamma alpha.
An exact proof term for the current goal is Lca.
We will prove PNo_upc R gamma q.
An exact proof term for the current goal is H4.
Apply PNoLtE alpha gamma p q L1 to the current goal.
Assume H5: PNoLt_ (alpha gamma) p q.
We prove the intermediate claim L2: alpha gamma = gamma.
rewrite the current goal using binintersect_com (from left to right).
Apply binintersect_Subq_eq_1 to the current goal.
An exact proof term for the current goal is Ha1 gamma Lca.
We prove the intermediate claim L3: beta gamma = gamma.
rewrite the current goal using binintersect_com (from left to right).
Apply binintersect_Subq_eq_1 to the current goal.
An exact proof term for the current goal is Lbt gamma Hc.
Apply PNoLtI1 to the current goal.
rewrite the current goal using L3 (from left to right).
rewrite the current goal using L2 (from right to left).
An exact proof term for the current goal is H5.
Assume H5: alpha gamma.
We will prove False.
An exact proof term for the current goal is In_no2cycle alpha gamma H5 Lca.
Assume H5: gamma alpha.
Assume H6: PNoEq_ gamma p q.
Assume H7: ¬ p gamma.
Apply PNoLtI3 to the current goal.
We will prove gamma beta.
An exact proof term for the current goal is Hc.
We will prove PNoEq_ gamma p q.
An exact proof term for the current goal is H6.
We will prove ¬ p gamma.
An exact proof term for the current goal is H7.
Theorem. (PNoEq_rel_strict_imv) The following is provable:
∀L R : set(setprop)prop, ∀alpha, ordinal alpha∀p q : setprop, PNoEq_ alpha p qPNo_rel_strict_imv L R alpha pPNo_rel_strict_imv L R alpha q
Proof:
Let L, R and alpha be given.
Assume Ha.
Let p and q be given.
Assume Hpq H1.
Apply H1 to the current goal.
Assume H2 H3.
We will prove PNo_rel_strict_upperbd L alpha q PNo_rel_strict_lowerbd R alpha q.
Apply andI to the current goal.
An exact proof term for the current goal is PNoEq_rel_strict_upperbd L alpha Ha p q Hpq H2.
An exact proof term for the current goal is PNoEq_rel_strict_lowerbd R alpha Ha p q Hpq H3.
Theorem. (PNo_rel_strict_imv_antimon) The following is provable:
∀L R : set(setprop)prop, ∀alpha, ordinal alpha∀p : setprop, betaalpha, PNo_rel_strict_imv L R alpha pPNo_rel_strict_imv L R beta p
Proof:
Let L, R and alpha be given.
Assume Ha.
Let p and beta be given.
Assume Hb H1.
Apply H1 to the current goal.
Assume H2 H3.
Apply andI to the current goal.
An exact proof term for the current goal is PNo_rel_strict_upperbd_antimon L alpha Ha p beta Hb H2.
An exact proof term for the current goal is PNo_rel_strict_lowerbd_antimon R alpha Ha p beta Hb H3.
Definition. We define PNo_rel_strict_uniq_imv to be λL R alpha p ⇒ PNo_rel_strict_imv L R alpha p ∀q : setprop, PNo_rel_strict_imv L R alpha qPNoEq_ alpha p q of type (set(setprop)prop)(set(setprop)prop)set(setprop)prop.
Definition. We define PNo_rel_strict_split_imv to be λL R alpha p ⇒ PNo_rel_strict_imv L R (ordsucc alpha) (λdelta ⇒ p delta delta alpha) PNo_rel_strict_imv L R (ordsucc alpha) (λdelta ⇒ p delta delta = alpha) of type (set(setprop)prop)(set(setprop)prop)set(setprop)prop.
Theorem. (PNo_extend0_eq) The following is provable:
∀alpha, ∀p : setprop, PNoEq_ alpha p (λdelta ⇒ p delta delta alpha)
Proof:
Let alpha and p be given.
Set p0 to be the term λdelta ⇒ p delta delta alpha of type setprop.
Let beta be given.
Assume Hb: beta alpha.
We will prove p beta p0 beta.
Apply iffI to the current goal.
Assume H1: p beta.
We will prove p beta beta alpha.
Apply andI to the current goal.
An exact proof term for the current goal is H1.
We will prove beta alpha.
Assume H2: beta = alpha.
Apply In_irref alpha to the current goal.
rewrite the current goal using H2 (from right to left) at position 1.
An exact proof term for the current goal is Hb.
Assume H1: p0 beta.
Apply H1 to the current goal.
Assume H2 _.
An exact proof term for the current goal is H2.
Theorem. (PNo_extend1_eq) The following is provable:
∀alpha, ∀p : setprop, PNoEq_ alpha p (λdelta ⇒ p delta delta = alpha)
Proof:
Let alpha and p be given.
Set p1 to be the term λdelta ⇒ p delta delta = alpha of type setprop.
Let beta be given.
Assume Hb: beta alpha.
We will prove p beta p1 beta.
Apply iffI to the current goal.
Assume H1: p beta.
We will prove p beta beta = alpha.
Apply orIL to the current goal.
An exact proof term for the current goal is H1.
Assume H1: p1 beta.
Apply H1 to the current goal.
Assume H2: p beta.
An exact proof term for the current goal is H2.
Assume H2: beta = alpha.
We will prove False.
Apply In_irref alpha to the current goal.
rewrite the current goal using H2 (from right to left) at position 1.
An exact proof term for the current goal is Hb.
Theorem. (PNo_rel_imv_ex) The following is provable:
∀L R : set(setprop)prop, PNoLt_pwise L R∀alpha, ordinal alpha(p : setprop, PNo_rel_strict_uniq_imv L R alpha p) (taualpha, p : setprop, PNo_rel_strict_split_imv L R tau p)
Proof:
Let L and R be given.
Assume HLR.
We prove the intermediate claim LLR: PNoLt_pwise (PNo_downc L) (PNo_upc R).
An exact proof term for the current goal is PNoLt_pwise_downc_upc L R HLR.
Apply ordinal_ind to the current goal.
Let alpha be given.
Assume Ha.
Apply Ha to the current goal.
Assume Ha1 _.
Assume IH: gammaalpha, (p : setprop, PNo_rel_strict_uniq_imv L R gamma p) (taugamma, p : setprop, PNo_rel_strict_split_imv L R tau p).
Apply dneg to the current goal.
Assume HNC: ¬ ((p : setprop, PNo_rel_strict_uniq_imv L R alpha p) (taualpha, p : setprop, PNo_rel_strict_split_imv L R tau p)).
Apply not_or_and_demorgan (p : setprop, PNo_rel_strict_uniq_imv L R alpha p) (taualpha, p : setprop, PNo_rel_strict_split_imv L R tau p) HNC to the current goal.
Assume HNC1: ¬ (p : setprop, PNo_rel_strict_uniq_imv L R alpha p).
Assume HNC2: ¬ (taualpha, p : setprop, PNo_rel_strict_split_imv L R tau p).
We prove the intermediate claim LIH: gammaalpha, p : setprop, PNo_rel_strict_uniq_imv L R gamma p.
Let gamma be given.
Assume Hc: gamma alpha.
Apply IH gamma Hc to the current goal.
Assume H1.
An exact proof term for the current goal is H1.
Assume H1: taugamma, p : setprop, PNo_rel_strict_split_imv L R tau p.
Apply H1 to the current goal.
Let tau be given.
Assume H2.
Apply H2 to the current goal.
Assume Ht: tau gamma.
Assume H2.
Apply H2 to the current goal.
Let p be given.
Assume H3: PNo_rel_strict_split_imv L R tau p.
Apply HNC2 to the current goal.
We use tau to witness the existential quantifier.
Apply andI to the current goal.
We will prove tau alpha.
An exact proof term for the current goal is Ha1 gamma Hc tau Ht.
We use p to witness the existential quantifier.
We will prove PNo_rel_strict_split_imv L R tau p.
An exact proof term for the current goal is H3.
Apply ordinal_lim_or_succ alpha Ha to the current goal.
Assume H1: betaalpha, ordsucc beta alpha.
Set pl to be the term λdelta ⇒ ∀p : setprop, PNo_rel_strict_imv L R (ordsucc delta) pp delta of type setprop.
We prove the intermediate claim Lpl1: ∀gamma, ordinal gammagamma alphaPNo_rel_strict_uniq_imv L R gamma pl.
Apply ordinal_ind to the current goal.
Let gamma be given.
Assume Hc: ordinal gamma.
Assume IH2: deltagamma, delta alphaPNo_rel_strict_uniq_imv L R delta pl.
Assume Hc1: gamma alpha.
Apply LIH gamma Hc1 to the current goal.
Let p be given.
Assume Hp.
Apply Hp to the current goal.
Assume Hp1: PNo_rel_strict_imv L R gamma p.
Apply Hp1 to the current goal.
Assume Hp1a Hp1b.
Assume Hp2: ∀q : setprop, PNo_rel_strict_imv L R gamma qPNoEq_ gamma p q.
We prove the intermediate claim Lplpe: PNoEq_ gamma pl p.
Let delta be given.
Assume Hd: delta gamma.
Apply ordinal_ordsucc_In_eq gamma delta Hc Hd to the current goal.
Assume Hsd: ordsucc delta gamma.
We prove the intermediate claim Lsda: ordsucc delta alpha.
An exact proof term for the current goal is Ha1 gamma Hc1 (ordsucc delta) Hsd.
Apply IH2 (ordsucc delta) Hsd Lsda to the current goal.
Assume Hpl1: PNo_rel_strict_imv L R (ordsucc delta) pl.
Assume Hpl2: ∀q : setprop, PNo_rel_strict_imv L R (ordsucc delta) qPNoEq_ (ordsucc delta) pl q.
We will prove pl delta p delta.
Apply Hpl2 p to the current goal.
We will prove PNo_rel_strict_imv L R (ordsucc delta) p.
An exact proof term for the current goal is PNo_rel_strict_imv_antimon L R gamma Hc p (ordsucc delta) Hsd Hp1.
We will prove delta ordsucc delta.
Apply ordsuccI2 to the current goal.
Assume Hsd: gamma = ordsucc delta.
We will prove pl delta p delta.
Apply iffI to the current goal.
Assume H2: pl delta.
We will prove p delta.
Apply H2 p to the current goal.
We will prove PNo_rel_strict_imv L R (ordsucc delta) p.
rewrite the current goal using Hsd (from right to left).
An exact proof term for the current goal is Hp1.
Assume H2: p delta.
Let q be given.
rewrite the current goal using Hsd (from right to left).
Assume Hq: PNo_rel_strict_imv L R gamma q.
We will prove q delta.
An exact proof term for the current goal is iffEL (p delta) (q delta) (Hp2 q Hq delta Hd) H2.
We will prove PNo_rel_strict_uniq_imv L R gamma pl.
We will prove PNo_rel_strict_imv L R gamma pl ∀q : setprop, PNo_rel_strict_imv L R gamma qPNoEq_ gamma pl q.
Apply andI to the current goal.
We will prove PNo_rel_strict_imv L R gamma pl.
We will prove PNo_rel_strict_upperbd L gamma pl PNo_rel_strict_lowerbd R gamma pl.
Apply andI to the current goal.
We will prove PNo_rel_strict_upperbd L gamma pl.
Let beta be given.
Assume Hb: beta gamma.
Let q be given.
Assume Hq: PNo_downc L beta q.
We prove the intermediate claim Lb: ordinal beta.
An exact proof term for the current goal is ordinal_Hered gamma Hc beta Hb.
We will prove PNoLt beta q gamma pl.
Apply PNoLtEq_tra beta gamma Lb Hc q p pl to the current goal.
We will prove PNoLt beta q gamma p.
An exact proof term for the current goal is Hp1a beta Hb q Hq.
We will prove PNoEq_ gamma p pl.
Apply PNoEq_sym_ to the current goal.
An exact proof term for the current goal is Lplpe.
We will prove PNo_rel_strict_lowerbd R gamma pl.
Let beta be given.
Assume Hb: beta gamma.
Let q be given.
Assume Hq: PNo_upc R beta q.
We prove the intermediate claim Lb: ordinal beta.
An exact proof term for the current goal is ordinal_Hered gamma Hc beta Hb.
We will prove PNoLt gamma pl beta q.
Apply PNoEqLt_tra gamma beta Hc Lb pl p q to the current goal.
We will prove PNoEq_ gamma pl p.
An exact proof term for the current goal is Lplpe.
We will prove PNoLt gamma p beta q.
An exact proof term for the current goal is Hp1b beta Hb q Hq.
We will prove ∀q : setprop, PNo_rel_strict_imv L R gamma qPNoEq_ gamma pl q.
Let q be given.
Assume Hq: PNo_rel_strict_imv L R gamma q.
We will prove PNoEq_ gamma pl q.
Apply PNoEq_tra_ gamma pl p q to the current goal.
We will prove PNoEq_ gamma pl p.
An exact proof term for the current goal is Lplpe.
We will prove PNoEq_ gamma p q.
An exact proof term for the current goal is Hp2 q Hq.
We prove the intermediate claim Lpl2: gammaalpha, PNo_rel_strict_uniq_imv L R gamma pl.
Let gamma be given.
Assume Hc: gamma alpha.
We prove the intermediate claim Lc: ordinal gamma.
An exact proof term for the current goal is ordinal_Hered alpha Ha gamma Hc.
An exact proof term for the current goal is Lpl1 gamma Lc Hc.
Apply HNC1 to the current goal.
We use pl to witness the existential quantifier.
We will prove PNo_rel_strict_uniq_imv L R alpha pl.
We will prove PNo_rel_strict_imv L R alpha pl ∀q : setprop, PNo_rel_strict_imv L R alpha qPNoEq_ alpha pl q.
Apply andI to the current goal.
We will prove PNo_rel_strict_imv L R alpha pl.
We will prove PNo_rel_strict_upperbd L alpha pl PNo_rel_strict_lowerbd R alpha pl.
Apply andI to the current goal.
We will prove PNo_rel_strict_upperbd L alpha pl.
Let beta be given.
Assume Hb: beta alpha.
Let q be given.
Assume Hq: PNo_downc L beta q.
We prove the intermediate claim Lb: ordinal beta.
An exact proof term for the current goal is ordinal_Hered alpha Ha beta Hb.
We prove the intermediate claim Lsb: ordinal (ordsucc beta).
An exact proof term for the current goal is ordinal_ordsucc beta Lb.
We will prove PNoLt beta q alpha pl.
Apply PNoLt_trichotomy_or beta alpha q pl Lb Ha to the current goal.
Assume H2.
Apply H2 to the current goal.
Assume H2: PNoLt beta q alpha pl.
An exact proof term for the current goal is H2.
Assume H2.
Apply H2 to the current goal.
Assume H2: beta = alpha.
We will prove False.
Apply In_irref alpha to the current goal.
rewrite the current goal using H2 (from right to left) at position 1.
An exact proof term for the current goal is Hb.
Assume H2: PNoLt alpha pl beta q.
Apply PNoLtE alpha beta pl q H2 to the current goal.
Assume H3: PNoLt_ (alpha beta) pl q.
Apply H3 to the current goal.
Let gamma be given.
Assume H4.
Apply H4 to the current goal.
Assume Hc: gamma alpha beta.
Apply binintersectE alpha beta gamma Hc to the current goal.
Assume Hc1 Hc2.
Assume H5.
Apply H5 to the current goal.
Assume H5.
Apply H5 to the current goal.
Assume H5: PNoEq_ gamma pl q.
Assume H6: ¬ pl gamma.
Assume H7: q gamma.
We prove the intermediate claim Lc: ordinal gamma.
An exact proof term for the current goal is ordinal_Hered beta Lb gamma Hc2.
We prove the intermediate claim Lsc: ordinal (ordsucc gamma).
An exact proof term for the current goal is ordinal_ordsucc gamma Lc.
We will prove False.
Apply H6 to the current goal.
We will prove pl gamma.
Let p be given.
Assume Hp: PNo_rel_strict_imv L R (ordsucc gamma) p.
We will prove p gamma.
Apply Hp to the current goal.
Assume Hp1 Hp2.
We prove the intermediate claim Lqp: PNoLt gamma q (ordsucc gamma) p.
Apply Hp1 gamma (ordsuccI2 gamma) q to the current goal.
We will prove PNo_downc L gamma q.
Apply PNoLe_downc L beta gamma q q Lb Lc to the current goal.
We will prove PNo_downc L beta q.
An exact proof term for the current goal is Hq.
We will prove PNoLe gamma q beta q.
Apply PNoLeI1 to the current goal.
We will prove PNoLt gamma q beta q.
Apply PNoLtI2 to the current goal.
We will prove gamma beta.
An exact proof term for the current goal is Hc2.
We will prove PNoEq_ gamma q q.
Apply PNoEq_ref_ to the current goal.
We will prove q gamma.
An exact proof term for the current goal is H7.
Apply PNoLtE gamma (ordsucc gamma) q p Lqp to the current goal.
Assume H6: PNoLt_ (gamma ordsucc gamma) q p.
Apply H6 to the current goal.
Let delta be given.
Assume H7.
Apply H7 to the current goal.
Assume Hd: delta gamma ordsucc gamma.
Apply binintersectE gamma (ordsucc gamma) delta Hd to the current goal.
Assume Hd1 Hd2.
Assume H7.
Apply H7 to the current goal.
Assume H7.
Apply H7 to the current goal.
Assume H7: PNoEq_ delta q p.
Assume H8: ¬ q delta.
Assume H9: p delta.
We prove the intermediate claim Ld: ordinal delta.
An exact proof term for the current goal is ordinal_Hered gamma Lc delta Hd1.
We prove the intermediate claim Lda: delta alpha.
An exact proof term for the current goal is Ha1 gamma Hc1 delta Hd1.
We prove the intermediate claim Lsda: ordsucc delta alpha.
An exact proof term for the current goal is H1 delta Lda.
We prove the intermediate claim Lpld: pl delta.
Apply Lpl2 (ordsucc delta) Lsda to the current goal.
Assume _.
Assume Hpl3: ∀q : setprop, PNo_rel_strict_imv L R (ordsucc delta) qPNoEq_ (ordsucc delta) pl q.
We prove the intermediate claim Lpld1: PNoEq_ (ordsucc delta) pl p.
Apply Hpl3 p to the current goal.
We will prove PNo_rel_strict_imv L R (ordsucc delta) p.
Apply PNo_rel_strict_imv_antimon L R (ordsucc gamma) Lsc p to the current goal.
We will prove ordsucc delta ordsucc gamma.
Apply ordinal_ordsucc_In to the current goal.
An exact proof term for the current goal is Lc.
We will prove delta gamma.
An exact proof term for the current goal is Hd1.
An exact proof term for the current goal is Hp.
An exact proof term for the current goal is iffER (pl delta) (p delta) (Lpld1 delta (ordsuccI2 delta)) H9.
We prove the intermediate claim Lnpld: ¬ pl delta.
Assume H10: pl delta.
Apply H8 to the current goal.
An exact proof term for the current goal is iffEL (pl delta) (q delta) (H5 delta Hd1) H10.
We will prove False.
An exact proof term for the current goal is Lnpld Lpld.
Assume H6: gamma ordsucc gamma.
Assume H7: PNoEq_ gamma q p.
Assume H8: p gamma.
An exact proof term for the current goal is H8.
Assume H6: ordsucc gamma gamma.
We will prove False.
An exact proof term for the current goal is In_no2cycle gamma (ordsucc gamma) (ordsuccI2 gamma) H6.
Assume H3: alpha beta.
We will prove False.
An exact proof term for the current goal is In_no2cycle beta alpha Hb H3.
Assume H3: beta alpha.
Assume H4: PNoEq_ beta pl q.
Assume H5: ¬ pl beta.
We will prove False.
Apply H5 to the current goal.
We will prove pl beta.
Let p be given.
Assume Hp: PNo_rel_strict_imv L R (ordsucc beta) p.
We will prove p beta.
Apply Hp to the current goal.
Assume Hp1 Hp2.
We prove the intermediate claim Lqp: PNoLt beta q (ordsucc beta) p.
An exact proof term for the current goal is Hp1 beta (ordsuccI2 beta) q Hq.
Apply PNoLtE beta (ordsucc beta) q p Lqp to the current goal.
Assume H6: PNoLt_ (beta ordsucc beta) q p.
Apply H6 to the current goal.
Let delta be given.
Assume H7.
Apply H7 to the current goal.
Assume Hd: delta beta ordsucc beta.
Apply binintersectE beta (ordsucc beta) delta Hd to the current goal.
Assume Hd1 Hd2.
Assume H7.
Apply H7 to the current goal.
Assume H7.
Apply H7 to the current goal.
Assume H7: PNoEq_ delta q p.
Assume H8: ¬ q delta.
Assume H9: p delta.
We prove the intermediate claim Ld: ordinal delta.
An exact proof term for the current goal is ordinal_Hered beta Lb delta Hd1.
We prove the intermediate claim Lda: delta alpha.
An exact proof term for the current goal is Ha1 beta Hb delta Hd1.
We prove the intermediate claim Lsda: ordsucc delta alpha.
An exact proof term for the current goal is H1 delta Lda.
We prove the intermediate claim Lpld: pl delta.
Apply Lpl2 (ordsucc delta) Lsda to the current goal.
Assume _.
Assume Hpl3: ∀q : setprop, PNo_rel_strict_imv L R (ordsucc delta) qPNoEq_ (ordsucc delta) pl q.
We prove the intermediate claim Lpld1: PNoEq_ (ordsucc delta) pl p.
Apply Hpl3 p to the current goal.
We will prove PNo_rel_strict_imv L R (ordsucc delta) p.
Apply PNo_rel_strict_imv_antimon L R (ordsucc beta) Lsb p to the current goal.
We will prove ordsucc delta ordsucc beta.
Apply ordinal_ordsucc_In to the current goal.
An exact proof term for the current goal is Lb.
We will prove delta beta.
An exact proof term for the current goal is Hd1.
An exact proof term for the current goal is Hp.
An exact proof term for the current goal is iffER (pl delta) (p delta) (Lpld1 delta (ordsuccI2 delta)) H9.
We prove the intermediate claim Lnpld: ¬ pl delta.
Assume H10: pl delta.
Apply H8 to the current goal.
An exact proof term for the current goal is iffEL (pl delta) (q delta) (H4 delta Hd1) H10.
We will prove False.
An exact proof term for the current goal is Lnpld Lpld.
Assume H6: beta ordsucc beta.
Assume H7: PNoEq_ beta q p.
Assume H8: p beta.
An exact proof term for the current goal is H8.
Assume H6: ordsucc beta beta.
We will prove False.
An exact proof term for the current goal is In_no2cycle beta (ordsucc beta) (ordsuccI2 beta) H6.
We will prove PNo_rel_strict_lowerbd R alpha pl.
Let beta be given.
Assume Hb: beta alpha.
Let q be given.
Assume Hq: PNo_upc R beta q.
We prove the intermediate claim Lb: ordinal beta.
An exact proof term for the current goal is ordinal_Hered alpha Ha beta Hb.
We prove the intermediate claim Lsb: ordinal (ordsucc beta).
An exact proof term for the current goal is ordinal_ordsucc beta Lb.
We prove the intermediate claim Lsba: ordsucc beta alpha.
An exact proof term for the current goal is H1 beta Hb.
We will prove PNoLt alpha pl beta q.
Apply PNoLt_trichotomy_or alpha beta pl q Ha Lb to the current goal.
Assume H2.
Apply H2 to the current goal.
Assume H2: PNoLt alpha pl beta q.
An exact proof term for the current goal is H2.
Assume H2.
Apply H2 to the current goal.
Assume H2: alpha = beta.
We will prove False.
Apply In_irref alpha to the current goal.
rewrite the current goal using H2 (from left to right) at position 1.
An exact proof term for the current goal is Hb.
Assume H2: PNoLt beta q alpha pl.
Apply PNoLtE beta alpha q pl H2 to the current goal.
Assume H3: PNoLt_ (beta alpha) q pl.
Apply H3 to the current goal.
Let gamma be given.
Assume H4.
Apply H4 to the current goal.
Assume Hc: gamma beta alpha.
Apply binintersectE beta alpha gamma Hc to the current goal.
Assume Hc2 Hc1.
Assume H5.
Apply H5 to the current goal.
Assume H5.
Apply H5 to the current goal.
Assume H5: PNoEq_ gamma q pl.
Assume H6: ¬ q gamma.
Assume H7: pl gamma.
We prove the intermediate claim Lc: ordinal gamma.
An exact proof term for the current goal is ordinal_Hered beta Lb gamma Hc2.
We prove the intermediate claim Lsc: ordinal (ordsucc gamma).
An exact proof term for the current goal is ordinal_ordsucc gamma Lc.
We prove the intermediate claim Lsca: ordsucc gamma alpha.
An exact proof term for the current goal is H1 gamma Hc1.
We will prove False.
Apply Lpl2 (ordsucc gamma) Lsca to the current goal.
Assume Hpl2: PNo_rel_strict_imv L R (ordsucc gamma) pl.
Assume _.
Apply Hpl2 to the current goal.
Assume _.
Assume Hpl2b: PNo_rel_strict_lowerbd R (ordsucc gamma) pl.
We prove the intermediate claim Lplq: PNoLt (ordsucc gamma) pl gamma q.
Apply Hpl2b gamma (ordsuccI2 gamma) q to the current goal.
We will prove PNo_upc R gamma q.
Apply PNoLe_upc R beta gamma q q Lb Lc to the current goal.
We will prove PNo_upc R beta q.
An exact proof term for the current goal is Hq.
We will prove PNoLe beta q gamma q.
Apply PNoLeI1 beta gamma q q to the current goal.
We will prove PNoLt beta q gamma q.
Apply PNoLtI3 to the current goal.
We will prove gamma beta.
An exact proof term for the current goal is Hc2.
We will prove PNoEq_ gamma q q.
Apply PNoEq_ref_ to the current goal.
We will prove ¬ q gamma.
An exact proof term for the current goal is H6.
We prove the intermediate claim Lqpl: PNoLt gamma q (ordsucc gamma) pl.
Apply PNoLtI2 to the current goal.
We will prove gamma ordsucc gamma.
Apply ordsuccI2 to the current goal.
We will prove PNoEq_ gamma q pl.
An exact proof term for the current goal is H5.
We will prove pl gamma.
An exact proof term for the current goal is H7.
We will prove False.
Apply PNoLt_irref gamma q to the current goal.
An exact proof term for the current goal is PNoLt_tra gamma (ordsucc gamma) gamma Lc Lsc Lc q pl q Lqpl Lplq.
Assume H3: beta alpha.
Assume H4: PNoEq_ beta q pl.
Assume H5: pl beta.
Apply Lpl2 (ordsucc beta) Lsba to the current goal.
Assume Hpl2: PNo_rel_strict_imv L R (ordsucc beta) pl.
Assume _.
Apply Hpl2 to the current goal.
Assume _.
Assume Hpl2b: PNo_rel_strict_lowerbd R (ordsucc beta) pl.
We prove the intermediate claim Lplq: PNoLt (ordsucc beta) pl beta q.
Apply Hpl2b beta (ordsuccI2 beta) q to the current goal.
We will prove PNo_upc R beta q.
An exact proof term for the current goal is Hq.
We prove the intermediate claim Lqpl: PNoLt beta q (ordsucc beta) pl.
Apply PNoLtI2 to the current goal.
We will prove beta ordsucc beta.
Apply ordsuccI2 to the current goal.
We will prove PNoEq_ beta q pl.
An exact proof term for the current goal is H4.
We will prove pl beta.
An exact proof term for the current goal is H5.
We will prove False.
Apply PNoLt_irref beta q to the current goal.
An exact proof term for the current goal is PNoLt_tra beta (ordsucc beta) beta Lb Lsb Lb q pl q Lqpl Lplq.
Assume H3: alpha beta.
We will prove False.
An exact proof term for the current goal is In_no2cycle beta alpha Hb H3.
We will prove ∀q : setprop, PNo_rel_strict_imv L R alpha qPNoEq_ alpha pl q.
Let q be given.
Assume Hq: PNo_rel_strict_imv L R alpha q.
Let gamma be given.
Assume Hc: gamma alpha.
We will prove pl gamma q gamma.
We prove the intermediate claim Lsca: ordsucc gamma alpha.
An exact proof term for the current goal is H1 gamma Hc.
Apply Lpl2 (ordsucc gamma) Lsca to the current goal.
Assume _.
Assume Hpl3: ∀q : setprop, PNo_rel_strict_imv L R (ordsucc gamma) qPNoEq_ (ordsucc gamma) pl q.
Apply Hpl3 to the current goal.
We will prove PNo_rel_strict_imv L R (ordsucc gamma) q.
An exact proof term for the current goal is PNo_rel_strict_imv_antimon L R alpha Ha q (ordsucc gamma) Lsca Hq.
We will prove gamma ordsucc gamma.
Apply ordsuccI2 to the current goal.
Assume H1: betaalpha, alpha = ordsucc beta.
Apply H1 to the current goal.
Let beta be given.
Assume H1.
Apply H1 to the current goal.
Assume Hb: beta alpha.
Assume Hab: alpha = ordsucc beta.
We prove the intermediate claim Lb: ordinal beta.
An exact proof term for the current goal is ordinal_Hered alpha Ha beta Hb.
We prove the intermediate claim Lsb: ordinal (ordsucc beta).
rewrite the current goal using Hab (from right to left).
An exact proof term for the current goal is Ha.
We prove the intermediate claim Lbsb1: beta ordsucc beta = beta.
Apply binintersect_Subq_eq_1 to the current goal.
Apply ordsuccI1 to the current goal.
We prove the intermediate claim Lbsb2: ordsucc beta beta = beta.
rewrite the current goal using binintersect_com (from left to right).
An exact proof term for the current goal is Lbsb1.
Apply LIH beta Hb to the current goal.
Let p be given.
Assume Hp: PNo_rel_strict_uniq_imv L R beta p.
Apply Hp to the current goal.
Assume Hp0: PNo_rel_strict_imv L R beta p.
Apply Hp0 to the current goal.
Assume Hp1: gammabeta, ∀q : setprop, PNo_downc L gamma qPNoLt gamma q beta p.
Assume Hp2: gammabeta, ∀q : setprop, PNo_upc R gamma qPNoLt beta p gamma q.
Assume Hp3: ∀q : setprop, PNo_rel_strict_imv L R beta qPNoEq_ beta p q.
Set p0 to be the term λdelta ⇒ p delta delta beta of type setprop.
Set p1 to be the term λdelta ⇒ p delta delta = beta of type setprop.
We prove the intermediate claim Lp0e: PNoEq_ beta p0 p.
Let gamma be given.
Assume Hc: gamma beta.
We will prove p0 gamma p gamma.
Apply iffI to the current goal.
Assume H2: p gamma gamma beta.
We will prove p gamma.
Apply H2 to the current goal.
Assume H2 _.
An exact proof term for the current goal is H2.
Assume H2: p gamma.
We will prove p gamma gamma beta.
Apply andI to the current goal.
An exact proof term for the current goal is H2.
Assume H3: gamma = beta.
Apply In_irref beta to the current goal.
rewrite the current goal using H3 (from right to left) at position 1.
An exact proof term for the current goal is Hc.
We prove the intermediate claim Lp0b: ¬ p0 beta.
Assume H2: p beta beta beta.
Apply H2 to the current goal.
Assume _ H2.
Apply H2 to the current goal.
Use reflexivity.
We prove the intermediate claim Lp0p: PNoLt (ordsucc beta) p0 beta p.
Apply PNoLtI3 to the current goal.
We will prove beta ordsucc beta.
Apply ordsuccI2 to the current goal.
We will prove PNoEq_ beta p0 p.
An exact proof term for the current goal is Lp0e.
We will prove ¬ p0 beta.
An exact proof term for the current goal is Lp0b.
We prove the intermediate claim Lp1e: PNoEq_ beta p p1.
Let gamma be given.
Assume Hc: gamma beta.
We will prove p gamma p1 gamma.
Apply iffI to the current goal.
Assume H2: p gamma.
We will prove p gamma gamma = beta.
Apply orIL to the current goal.
An exact proof term for the current goal is H2.
Assume H2: p gamma gamma = beta.
We will prove p gamma.
Apply H2 to the current goal.
Assume H3: p gamma.
An exact proof term for the current goal is H3.
Assume H3: gamma = beta.
We will prove False.
Apply In_irref beta to the current goal.
rewrite the current goal using H3 (from right to left) at position 1.
An exact proof term for the current goal is Hc.
We prove the intermediate claim Lp1b: p1 beta.
We will prove p beta beta = beta.
Apply orIR to the current goal.
Use reflexivity.
We prove the intermediate claim Lpp1: PNoLt beta p (ordsucc beta) p1.
Apply PNoLtI2 to the current goal.
We will prove beta ordsucc beta.
Apply ordsuccI2 to the current goal.
We will prove PNoEq_ beta p p1.
An exact proof term for the current goal is Lp1e.
We will prove p1 beta.
An exact proof term for the current goal is Lp1b.
We prove the intermediate claim Lnotboth: ¬ (PNo_rel_strict_imv L R alpha p0 PNo_rel_strict_imv L R alpha p1).
rewrite the current goal using Hab (from left to right).
Assume H2.
Apply HNC2 to the current goal.
We use beta to witness the existential quantifier.
Apply andI to the current goal.
We will prove beta alpha.
An exact proof term for the current goal is Hb.
We use p to witness the existential quantifier.
We will prove PNo_rel_strict_split_imv L R beta p.
An exact proof term for the current goal is H2.
We prove the intermediate claim Lcases: (∀q : setprop, PNo_downc L beta q¬ PNoEq_ beta p q) (∀q : setprop, PNo_upc R beta q¬ PNoEq_ beta p q).
rewrite the current goal using eq_or_nand (from left to right).
Assume H2.
Apply H2 to the current goal.
Assume H2: ¬ (∀q : setprop, PNo_downc L beta q¬ PNoEq_ beta p q).
Assume H3: ¬ (∀q : setprop, PNo_upc R beta q¬ PNoEq_ beta p q).
Apply H2 to the current goal.
Let q0 be given.
Assume H4: PNo_downc L beta q0.
Assume H5: PNoEq_ beta p q0.
Apply H3 to the current goal.
Let q1 be given.
Assume H6: PNo_upc R beta q1.
Assume H7: PNoEq_ beta p q1.
We prove the intermediate claim L2: PNoLt beta q0 beta q1.
An exact proof term for the current goal is LLR beta Lb q0 H4 beta Lb q1 H6.
Apply PNoLt_irref beta q0 to the current goal.
Apply PNoLtLe_tra beta beta beta Lb Lb Lb q0 q1 q0 L2 to the current goal.
We will prove PNoLe beta q1 beta q0.
We will prove PNoLt beta q1 beta q0 beta = beta PNoEq_ beta q1 q0.
Apply orIR to the current goal.
Apply andI to the current goal.
Use reflexivity.
We will prove PNoEq_ beta q1 q0.
Apply PNoEq_tra_ beta q1 p q0 to the current goal.
We will prove PNoEq_ beta q1 p.
Apply PNoEq_sym_ to the current goal.
An exact proof term for the current goal is H7.
We will prove PNoEq_ beta p q0.
An exact proof term for the current goal is H5.
We will prove False.
Apply Lcases to the current goal.
Assume H2: ∀q : setprop, PNo_downc L beta q¬ PNoEq_ beta p q.
We prove the intermediate claim Lp0imv: PNo_rel_strict_imv L R (ordsucc beta) p0.
Apply andI to the current goal.
Let gamma be given.
Assume Hc: gamma ordsucc beta.
Let q be given.
Assume H3: PNo_downc L gamma q.
We prove the intermediate claim Lc: ordinal gamma.
An exact proof term for the current goal is ordinal_Hered (ordsucc beta) Lsb gamma Hc.
We will prove PNoLt gamma q (ordsucc beta) p0.
Apply ordsuccE beta gamma Hc to the current goal.
Assume H4: gamma beta.
We prove the intermediate claim L1: PNoLt gamma q beta p.
An exact proof term for the current goal is Hp1 gamma H4 q H3.
Apply PNoLtE gamma beta q p L1 to the current goal.
Assume H5: PNoLt_ (gamma beta) q p.
Apply H5 to the current goal.
Let delta be given.
Assume H6.
Apply H6 to the current goal.
Assume Hd: delta gamma beta.
Assume H6.
Apply H6 to the current goal.
Assume H6.
Apply H6 to the current goal.
Assume H6: PNoEq_ delta q p.
Assume H7: ¬ q delta.
Assume H8: p delta.
Apply binintersectE gamma beta delta Hd to the current goal.
Assume Hd1: delta gamma.
Assume Hd2: delta beta.
We will prove PNoLt gamma q (ordsucc beta) p0.
Apply PNoLtI1 to the current goal.
We will prove PNoLt_ (gamma ordsucc beta) q p0.
We will prove betagamma ordsucc beta, PNoEq_ beta q p0 ¬ q beta p0 beta.
We use delta to witness the existential quantifier.
Apply andI to the current goal.
We will prove delta gamma ordsucc beta.
Apply binintersectI to the current goal.
An exact proof term for the current goal is Hd1.
Apply ordsuccI1 to the current goal.
An exact proof term for the current goal is Hd2.
Apply and3I to the current goal.
We will prove PNoEq_ delta q p0.
Apply PNoEq_tra_ delta q p p0 to the current goal.
An exact proof term for the current goal is H6.
Apply PNoEq_sym_ to the current goal.
Apply PNoEq_antimon_ p0 p beta Lb delta Hd2 to the current goal.
An exact proof term for the current goal is Lp0e.
We will prove ¬ q delta.
An exact proof term for the current goal is H7.
We will prove p0 delta.
We will prove p delta delta beta.
Apply andI to the current goal.
An exact proof term for the current goal is H8.
Assume H9: delta = beta.
Apply In_irref beta to the current goal.
rewrite the current goal using H9 (from right to left) at position 1.
An exact proof term for the current goal is Hd2.
Assume H5: gamma beta.
Assume H6: PNoEq_ gamma q p.
Assume H7: p gamma.
We will prove PNoLt gamma q (ordsucc beta) p0.
Apply PNoLtI2 to the current goal.
We will prove gamma ordsucc beta.
Apply ordsuccI1 to the current goal.
An exact proof term for the current goal is H5.
We will prove PNoEq_ gamma q p0.
Apply PNoEq_tra_ gamma q p p0 to the current goal.
We will prove PNoEq_ gamma q p.
An exact proof term for the current goal is H6.
We will prove PNoEq_ gamma p p0.
Apply PNoEq_sym_ to the current goal.
Apply PNoEq_antimon_ p0 p beta Lb gamma H5 to the current goal.
An exact proof term for the current goal is Lp0e.
We will prove p0 gamma.
We will prove p gamma gamma beta.
Apply andI to the current goal.
An exact proof term for the current goal is H7.
Assume H8: gamma = beta.
Apply In_irref gamma to the current goal.
rewrite the current goal using H8 (from left to right) at position 2.
An exact proof term for the current goal is H5.
Assume H5: beta gamma.
We will prove False.
An exact proof term for the current goal is In_no2cycle gamma beta H4 H5.
Assume H4: gamma = beta.
rewrite the current goal using H4 (from left to right).
We will prove PNoLt beta q (ordsucc beta) p0.
Apply PNoLt_trichotomy_or beta (ordsucc beta) q p0 Lb Lsb to the current goal.
Assume H5.
Apply H5 to the current goal.
Assume H5.
An exact proof term for the current goal is H5.
Assume H5.
Apply H5 to the current goal.
Assume H5: beta = ordsucc beta.
We will prove False.
Apply In_irref beta to the current goal.
rewrite the current goal using H5 (from left to right) at position 2.
Apply ordsuccI2 to the current goal.
Assume H5: PNoLt (ordsucc beta) p0 beta q.
Apply PNoLtE (ordsucc beta) beta p0 q H5 to the current goal.
rewrite the current goal using Lbsb2 (from left to right).
Assume H6: PNoLt_ beta p0 q.
Apply H6 to the current goal.
Let delta be given.
Assume H7.
Apply H7 to the current goal.
Assume Hd: delta beta.
Assume H7.
Apply H7 to the current goal.
Assume H7.
Apply H7 to the current goal.
Assume H7: PNoEq_ delta p0 q.
Assume H8: ¬ p0 delta.
Assume H9: q delta.
We prove the intermediate claim Ld: ordinal delta.
An exact proof term for the current goal is ordinal_Hered beta Lb delta Hd.
We prove the intermediate claim L2: PNoLt beta p delta q.
Apply PNoLtI3 to the current goal.
We will prove delta beta.
An exact proof term for the current goal is Hd.
We will prove PNoEq_ delta p q.
Apply PNoEq_tra_ delta p p0 q to the current goal.
We will prove PNoEq_ delta p p0.
Apply PNoEq_sym_ to the current goal.
Apply PNoEq_antimon_ p0 p beta Lb delta Hd to the current goal.
An exact proof term for the current goal is Lp0e.
We will prove PNoEq_ delta p0 q.
An exact proof term for the current goal is H7.
We will prove ¬ p delta.
Assume H10: p delta.
Apply H8 to the current goal.
We will prove p delta delta beta.
Apply andI to the current goal.
An exact proof term for the current goal is H10.
Assume H11: delta = beta.
Apply In_irref beta to the current goal.
rewrite the current goal using H11 (from right to left) at position 1.
An exact proof term for the current goal is Hd.
We prove the intermediate claim L3: PNoLt delta q beta p.
Apply Hp1 delta Hd q to the current goal.
We will prove PNo_downc L delta q.
Apply PNoLe_downc L gamma delta q q Lc Ld H3 to the current goal.
We will prove PNoLe delta q gamma q.
Apply PNoLeI1 to the current goal.
We will prove PNoLt delta q gamma q.
Apply PNoLtI2 to the current goal.
We will prove delta gamma.
rewrite the current goal using H4 (from left to right).
An exact proof term for the current goal is Hd.
We will prove PNoEq_ delta q q.
Apply PNoEq_ref_ to the current goal.
We will prove q delta.
An exact proof term for the current goal is H9.
Apply PNoLt_irref delta q to the current goal.
We will prove PNoLt delta q delta q.
An exact proof term for the current goal is PNoLt_tra delta beta delta Ld Lb Ld q p q L3 L2.
Assume H6: ordsucc beta beta.
We will prove False.
Apply In_no2cycle (ordsucc beta) beta H6 to the current goal.
Apply ordsuccI2 to the current goal.
Assume H6: beta ordsucc beta.
Assume H7: PNoEq_ beta p0 q.
We will prove False.
Apply H2 q to the current goal.
We will prove PNo_downc L beta q.
rewrite the current goal using H4 (from right to left).
An exact proof term for the current goal is H3.
We will prove PNoEq_ beta p q.
Apply PNoEq_tra_ beta p p0 q to the current goal.
Apply PNoEq_sym_ to the current goal.
An exact proof term for the current goal is Lp0e.
An exact proof term for the current goal is H7.
Let gamma be given.
Assume Hc: gamma ordsucc beta.
Let q be given.
Assume H3: PNo_upc R gamma q.
We prove the intermediate claim Lc: ordinal gamma.
An exact proof term for the current goal is ordinal_Hered (ordsucc beta) Lsb gamma Hc.
We will prove PNoLt (ordsucc beta) p0 gamma q.
Apply ordsuccE beta gamma Hc to the current goal.
Assume H4: gamma beta.
Apply PNoLt_tra (ordsucc beta) beta gamma Lsb Lb Lc p0 p q Lp0p to the current goal.
We will prove PNoLt beta p gamma q.
Apply Hp2 gamma H4 q to the current goal.
We will prove PNo_upc R gamma q.
An exact proof term for the current goal is H3.
Assume H4: gamma = beta.
rewrite the current goal using H4 (from left to right).
We will prove PNoLt (ordsucc beta) p0 beta q.
Apply PNoLt_trichotomy_or beta (ordsucc beta) q p0 Lb Lsb to the current goal.
Assume H5.
Apply H5 to the current goal.
Assume H5: PNoLt beta q (ordsucc beta) p0.
Apply PNoLtE beta (ordsucc beta) q p0 H5 to the current goal.
rewrite the current goal using Lbsb1 (from left to right).
Assume H6: PNoLt_ beta q p0.
Apply H6 to the current goal.
Let delta be given.
Assume H7.
Apply H7 to the current goal.
Assume H8: delta beta.
Assume H9.
Apply H9 to the current goal.
Assume H9.
Apply H9 to the current goal.
Assume H9: PNoEq_ delta q p0.
Assume H10: ¬ q delta.
Assume H11: p0 delta.
We will prove False.
We prove the intermediate claim Ld: ordinal delta.
An exact proof term for the current goal is ordinal_Hered beta Lb delta H8.
We prove the intermediate claim L4: PNoLt beta p delta q.
Apply Hp2 delta H8 q to the current goal.
We will prove PNo_upc R delta q.
Apply PNoLe_upc R gamma delta q q Lc Ld H3 to the current goal.
We will prove PNoLe gamma q delta q.
Apply PNoLeI1 to the current goal.
We will prove PNoLt gamma q delta q.
Apply PNoLtI3 to the current goal.
We will prove delta gamma.
rewrite the current goal using H4 (from left to right).
An exact proof term for the current goal is H8.
We will prove PNoEq_ delta q q.
Apply PNoEq_ref_ to the current goal.
We will prove ¬ q delta.
An exact proof term for the current goal is H10.
We prove the intermediate claim L5: PNoLt delta q beta p.
Apply PNoLtI2 to the current goal.
We will prove delta beta.
An exact proof term for the current goal is H8.
We will prove PNoEq_ delta q p.
Apply PNoEq_tra_ delta q p0 p to the current goal.
An exact proof term for the current goal is H9.
We will prove PNoEq_ delta p0 p.
Apply PNoEq_antimon_ p0 p beta Lb delta H8 to the current goal.
An exact proof term for the current goal is Lp0e.
We will prove p delta.
Apply H11 to the current goal.
Assume H12 _.
An exact proof term for the current goal is H12.
Apply PNoLt_irref beta p to the current goal.
An exact proof term for the current goal is PNoLt_tra beta delta beta Lb Ld Lb p q p L4 L5.
Assume H6: beta ordsucc beta.
Assume H7: PNoEq_ beta q p0.
Assume H8: p beta beta beta.
We will prove False.
Apply H8 to the current goal.
Assume _ H9.
Apply H9 to the current goal.
Use reflexivity.
Assume H6: ordsucc beta beta.
We will prove False.
Apply In_no2cycle (ordsucc beta) beta H6 to the current goal.
Apply ordsuccI2 to the current goal.
Assume H5.
Apply H5 to the current goal.
Assume H5: beta = ordsucc beta.
We will prove False.
Apply In_irref beta to the current goal.
rewrite the current goal using H5 (from left to right) at position 2.
Apply ordsuccI2 to the current goal.
Assume H5: PNoLt (ordsucc beta) p0 beta q.
An exact proof term for the current goal is H5.
Apply HNC1 to the current goal.
We use p0 to witness the existential quantifier.
rewrite the current goal using Hab (from left to right).
We will prove PNo_rel_strict_uniq_imv L R (ordsucc beta) p0.
We will prove PNo_rel_strict_imv L R (ordsucc beta) p0 ∀q : setprop, PNo_rel_strict_imv L R (ordsucc beta) qPNoEq_ (ordsucc beta) p0 q.
Apply andI to the current goal.
An exact proof term for the current goal is Lp0imv.
Let q be given.
Assume Hq: PNo_rel_strict_imv L R (ordsucc beta) q.
We will prove PNoEq_ (ordsucc beta) p0 q.
We prove the intermediate claim Lqb: PNo_rel_strict_imv L R beta q.
An exact proof term for the current goal is PNo_rel_strict_imv_antimon L R (ordsucc beta) Lsb q beta (ordsuccI2 beta) Hq.
We prove the intermediate claim Lpqe: PNoEq_ beta p q.
An exact proof term for the current goal is Hp3 q Lqb.
Apply xm (q beta) to the current goal.
Assume Hq1: q beta.
We will prove False.
Apply Lnotboth to the current goal.
rewrite the current goal using Hab (from left to right).
Apply andI to the current goal.
We will prove PNo_rel_strict_imv L R (ordsucc beta) p0.
An exact proof term for the current goal is Lp0imv.
We will prove PNo_rel_strict_imv L R (ordsucc beta) p1.
Apply PNoEq_rel_strict_imv L R (ordsucc beta) Lsb q p1 to the current goal.
We will prove PNoEq_ (ordsucc beta) q p1.
Let gamma be given.
Assume Hc: gamma ordsucc beta.
Apply ordsuccE beta gamma Hc to the current goal.
Assume H3: gamma beta.
We prove the intermediate claim Lpqce: p gamma q gamma.
An exact proof term for the current goal is Lpqe gamma H3.
Apply Lpqce to the current goal.
Assume Hpqc Hqpc.
We will prove q gamma p1 gamma.
Apply iffI to the current goal.
Assume H4: q gamma.
We will prove p gamma gamma = beta.
Apply orIL to the current goal.
An exact proof term for the current goal is Hqpc H4.
Assume H4: p gamma gamma = beta.
Apply H4 to the current goal.
An exact proof term for the current goal is Hpqc.
Assume H5: gamma = beta.
We will prove False.
Apply In_irref beta to the current goal.
rewrite the current goal using H5 (from right to left) at position 1.
An exact proof term for the current goal is H3.
Assume H3: gamma = beta.
We will prove q gamma p1 gamma.
Apply iffI to the current goal.
Assume _.
We will prove p gamma gamma = beta.
Apply orIR to the current goal.
An exact proof term for the current goal is H3.
Assume _.
We will prove q gamma.
rewrite the current goal using H3 (from left to right).
An exact proof term for the current goal is Hq1.
We will prove PNo_rel_strict_imv L R (ordsucc beta) q.
An exact proof term for the current goal is Hq.
Assume Hq0: ¬ q beta.
We will prove PNoEq_ (ordsucc beta) p0 q.
Let gamma be given.
Assume Hc: gamma ordsucc beta.
Apply ordsuccE beta gamma Hc to the current goal.
Assume H3: gamma beta.
We prove the intermediate claim Lpqce: p gamma q gamma.
An exact proof term for the current goal is Lpqe gamma H3.
Apply Lpqce to the current goal.
Assume Hpqc Hqpc.
We will prove p0 gamma q gamma.
Apply iffI to the current goal.
Assume H4: p gamma gamma beta.
Apply H4 to the current goal.
Assume H5: p gamma.
Assume _.
An exact proof term for the current goal is Hpqc H5.
Assume H4: q gamma.
We will prove p gamma gamma beta.
Apply andI to the current goal.
We will prove p gamma.
An exact proof term for the current goal is Hqpc H4.
We will prove gamma beta.
Assume H5: gamma = beta.
Apply In_irref beta to the current goal.
rewrite the current goal using H5 (from right to left) at position 1.
An exact proof term for the current goal is H3.
Assume H3: gamma = beta.
We will prove p0 gamma q gamma.
Apply iffI to the current goal.
Assume H4: p gamma gamma beta.
Apply H4 to the current goal.
Assume _ H5.
We will prove False.
An exact proof term for the current goal is H5 H3.
Assume H4: q gamma.
We will prove False.
Apply Hq0 to the current goal.
We will prove q beta.
rewrite the current goal using H3 (from right to left).
An exact proof term for the current goal is H4.
Assume H2: ∀q : setprop, PNo_upc R beta q¬ PNoEq_ beta p q.
We prove the intermediate claim Lp1imv: PNo_rel_strict_imv L R (ordsucc beta) p1.
Apply andI to the current goal.
Let gamma be given.
Assume Hc: gamma ordsucc beta.
Let q be given.
Assume H3: PNo_downc L gamma q.
We prove the intermediate claim Lc: ordinal gamma.
An exact proof term for the current goal is ordinal_Hered (ordsucc beta) Lsb gamma Hc.
We will prove PNoLt gamma q (ordsucc beta) p1.
Apply ordsuccE beta gamma Hc to the current goal.
Assume H4: gamma beta.
Apply PNoLt_tra gamma beta (ordsucc beta) Lc Lb Lsb q p p1 to the current goal.
We will prove PNoLt gamma q beta p.
Apply Hp1 gamma H4 q to the current goal.
We will prove PNo_downc L gamma q.
An exact proof term for the current goal is H3.
An exact proof term for the current goal is Lpp1.
Assume H4: gamma = beta.
rewrite the current goal using H4 (from left to right).
We will prove PNoLt beta q (ordsucc beta) p1.
Apply PNoLt_trichotomy_or beta (ordsucc beta) q p1 Lb Lsb to the current goal.
Assume H5.
Apply H5 to the current goal.
Assume H5: PNoLt beta q (ordsucc beta) p1.
An exact proof term for the current goal is H5.
Assume H5.
Apply H5 to the current goal.
Assume H5: beta = ordsucc beta.
We will prove False.
Apply In_irref beta to the current goal.
rewrite the current goal using H5 (from left to right) at position 2.
Apply ordsuccI2 to the current goal.
Assume H5: PNoLt (ordsucc beta) p1 beta q.
Apply PNoLtE (ordsucc beta) beta p1 q H5 to the current goal.
rewrite the current goal using Lbsb2 (from left to right).
Assume H6: PNoLt_ beta p1 q.
Apply H6 to the current goal.
Let delta be given.
Assume H7.
Apply H7 to the current goal.
Assume H8: delta beta.
Assume H9.
Apply H9 to the current goal.
Assume H9.
Apply H9 to the current goal.
Assume H9: PNoEq_ delta p1 q.
Assume H10: ¬ p1 delta.
Assume H11: q delta.
We will prove False.
We prove the intermediate claim Ld: ordinal delta.
An exact proof term for the current goal is ordinal_Hered beta Lb delta H8.
We prove the intermediate claim L4: PNoLt delta q beta p.
Apply Hp1 delta H8 q to the current goal.
We will prove PNo_downc L delta q.
Apply PNoLe_downc L gamma delta q q Lc Ld H3 to the current goal.
We will prove PNoLe delta q gamma q.
Apply PNoLeI1 to the current goal.
We will prove PNoLt delta q gamma q.
Apply PNoLtI2 to the current goal.
We will prove delta gamma.
rewrite the current goal using H4 (from left to right).
An exact proof term for the current goal is H8.
We will prove PNoEq_ delta q q.
Apply PNoEq_ref_ to the current goal.
We will prove q delta.
An exact proof term for the current goal is H11.
We prove the intermediate claim L5: PNoLt beta p delta q.
Apply PNoLtI3 to the current goal.
We will prove delta beta.
An exact proof term for the current goal is H8.
We will prove PNoEq_ delta p q.
Apply PNoEq_tra_ delta p p1 q to the current goal.
We will prove PNoEq_ delta p p1.
Apply PNoEq_antimon_ p p1 beta Lb delta H8 to the current goal.
An exact proof term for the current goal is Lp1e.
An exact proof term for the current goal is H9.
We will prove ¬ p delta.
Assume H12: p delta.
Apply H10 to the current goal.
We will prove p delta delta = beta.
Apply orIL to the current goal.
An exact proof term for the current goal is H12.
Apply PNoLt_irref beta p to the current goal.
An exact proof term for the current goal is PNoLt_tra beta delta beta Lb Ld Lb p q p L5 L4.
Assume H6: ordsucc beta beta.
We will prove False.
Apply In_no2cycle (ordsucc beta) beta H6 to the current goal.
Apply ordsuccI2 to the current goal.
Assume H6: beta ordsucc beta.
Assume H7: PNoEq_ beta p1 q.
Assume H8: ¬ p1 beta.
We will prove False.
Apply H8 to the current goal.
We will prove p beta beta = beta.
Apply orIR to the current goal.
Use reflexivity.
Let gamma be given.
Assume Hc: gamma ordsucc beta.
Let q be given.
Assume H3: PNo_upc R gamma q.
We prove the intermediate claim Lc: ordinal gamma.
An exact proof term for the current goal is ordinal_Hered (ordsucc beta) Lsb gamma Hc.
We will prove PNoLt (ordsucc beta) p1 gamma q.
Apply ordsuccE beta gamma Hc to the current goal.
Assume H4: gamma beta.
We prove the intermediate claim L1: PNoLt beta p gamma q.
An exact proof term for the current goal is Hp2 gamma H4 q H3.
Apply PNoLtE beta gamma p q L1 to the current goal.
Assume H5: PNoLt_ (beta gamma) p q.
Apply H5 to the current goal.
Let delta be given.
Assume H6.
Apply H6 to the current goal.
Assume Hd: delta beta gamma.
Assume H6.
Apply H6 to the current goal.
Assume H6.
Apply H6 to the current goal.
Assume H6: PNoEq_ delta p q.
Assume H7: ¬ p delta.
Assume H8: q delta.
Apply binintersectE beta gamma delta Hd to the current goal.
Assume Hd2: delta beta.
Assume Hd1: delta gamma.
We will prove PNoLt (ordsucc beta) p1 gamma q.
Apply PNoLtI1 to the current goal.
We will prove PNoLt_ (ordsucc beta gamma) p1 q.
We will prove betaordsucc beta gamma, PNoEq_ beta p1 q ¬ p1 beta q beta.
We use delta to witness the existential quantifier.
Apply andI to the current goal.
We will prove delta ordsucc beta gamma.
Apply binintersectI to the current goal.
Apply ordsuccI1 to the current goal.
An exact proof term for the current goal is Hd2.
An exact proof term for the current goal is Hd1.
Apply and3I to the current goal.
We will prove PNoEq_ delta p1 q.
Apply PNoEq_tra_ delta p1 p q to the current goal.
Apply PNoEq_antimon_ p1 p beta Lb delta Hd2 to the current goal.
Apply PNoEq_sym_ to the current goal.
An exact proof term for the current goal is Lp1e.
An exact proof term for the current goal is H6.
We will prove ¬ p1 delta.
Assume H9: p delta delta = beta.
We will prove False.
Apply H9 to the current goal.
An exact proof term for the current goal is H7.
Assume H10: delta = beta.
Apply In_irref beta to the current goal.
rewrite the current goal using H10 (from right to left) at position 1.
An exact proof term for the current goal is Hd2.
We will prove q delta.
An exact proof term for the current goal is H8.
Assume H5: beta gamma.
We will prove False.
An exact proof term for the current goal is In_no2cycle gamma beta H4 H5.
Assume H5: gamma beta.
Assume H6: PNoEq_ gamma p q.
Assume H7: ¬ p gamma.
We will prove PNoLt (ordsucc beta) p1 gamma q.
Apply PNoLtI3 to the current goal.
We will prove gamma ordsucc beta.
Apply ordsuccI1 to the current goal.
An exact proof term for the current goal is H5.
We will prove PNoEq_ gamma p1 q.
Apply PNoEq_tra_ gamma p1 p q to the current goal.
We will prove PNoEq_ gamma p1 p.
Apply PNoEq_antimon_ p1 p beta Lb gamma H5 to the current goal.
Apply PNoEq_sym_ to the current goal.
An exact proof term for the current goal is Lp1e.
We will prove PNoEq_ gamma p q.
An exact proof term for the current goal is H6.
We will prove ¬ p1 gamma.
Assume H8: p gamma gamma = beta.
Apply H8 to the current goal.
An exact proof term for the current goal is H7.
Assume H9: gamma = beta.
Apply In_irref beta to the current goal.
rewrite the current goal using H9 (from right to left) at position 1.
An exact proof term for the current goal is H5.
Assume H4: gamma = beta.
rewrite the current goal using H4 (from left to right).
We will prove PNoLt (ordsucc beta) p1 beta q.
Apply PNoLt_trichotomy_or beta (ordsucc beta) q p1 Lb Lsb to the current goal.
Assume H5.
Apply H5 to the current goal.
Assume H5: PNoLt beta q (ordsucc beta) p1.
Apply PNoLtE beta (ordsucc beta) q p1 H5 to the current goal.
rewrite the current goal using Lbsb1 (from left to right).
Assume H6: PNoLt_ beta q p1.
Apply H6 to the current goal.
Let delta be given.
Assume H7.
Apply H7 to the current goal.
Assume Hd: delta beta.
Assume H7.
Apply H7 to the current goal.
Assume H7.
Apply H7 to the current goal.
Assume H7: PNoEq_ delta q p1.
Assume H8: ¬ q delta.
Assume H9: p1 delta.
We prove the intermediate claim Ld: ordinal delta.
An exact proof term for the current goal is ordinal_Hered beta Lb delta Hd.
We prove the intermediate claim L2: PNoLt delta q beta p.
Apply PNoLtI2 to the current goal.
We will prove delta beta.
An exact proof term for the current goal is Hd.
We will prove PNoEq_ delta q p.
Apply PNoEq_tra_ delta q p1 p to the current goal.
We will prove PNoEq_ delta q p1.
An exact proof term for the current goal is H7.
We will prove PNoEq_ delta p1 p.
Apply PNoEq_antimon_ p1 p beta Lb delta Hd to the current goal.
Apply PNoEq_sym_ to the current goal.
An exact proof term for the current goal is Lp1e.
We will prove p delta.
Apply H9 to the current goal.
Assume H10: p delta.
An exact proof term for the current goal is H10.
Assume H10: delta = beta.
We will prove False.
Apply In_irref beta to the current goal.
rewrite the current goal using H10 (from right to left) at position 1.
An exact proof term for the current goal is Hd.
We prove the intermediate claim L3: PNoLt beta p delta q.
Apply Hp2 delta Hd q to the current goal.
We will prove PNo_upc R delta q.
Apply PNoLe_upc R gamma delta q q Lc Ld H3 to the current goal.
We will prove PNoLe gamma q delta q.
Apply PNoLeI1 to the current goal.
We will prove PNoLt gamma q delta q.
Apply PNoLtI3 to the current goal.
We will prove delta gamma.
rewrite the current goal using H4 (from left to right).
An exact proof term for the current goal is Hd.
We will prove PNoEq_ delta q q.
Apply PNoEq_ref_ to the current goal.
We will prove ¬ q delta.
An exact proof term for the current goal is H8.
Apply PNoLt_irref delta q to the current goal.
We will prove PNoLt delta q delta q.
An exact proof term for the current goal is PNoLt_tra delta beta delta Ld Lb Ld q p q L2 L3.
Assume H6: beta ordsucc beta.
Assume H7: PNoEq_ beta q p1.
We will prove False.
Apply H2 q to the current goal.
We will prove PNo_upc R beta q.
rewrite the current goal using H4 (from right to left).
An exact proof term for the current goal is H3.
We will prove PNoEq_ beta p q.
Apply PNoEq_tra_ beta p p1 q to the current goal.
An exact proof term for the current goal is Lp1e.
Apply PNoEq_sym_ to the current goal.
An exact proof term for the current goal is H7.
Assume H6: ordsucc beta beta.
We will prove False.
Apply In_no2cycle (ordsucc beta) beta H6 to the current goal.
Apply ordsuccI2 to the current goal.
Assume H5.
Apply H5 to the current goal.
Assume H5: beta = ordsucc beta.
We will prove False.
Apply In_irref beta to the current goal.
rewrite the current goal using H5 (from left to right) at position 2.
Apply ordsuccI2 to the current goal.
Assume H5.
An exact proof term for the current goal is H5.
Apply HNC1 to the current goal.
We use p1 to witness the existential quantifier.
rewrite the current goal using Hab (from left to right).
We will prove PNo_rel_strict_uniq_imv L R (ordsucc beta) p1.
We will prove PNo_rel_strict_imv L R (ordsucc beta) p1 ∀q : setprop, PNo_rel_strict_imv L R (ordsucc beta) qPNoEq_ (ordsucc beta) p1 q.
Apply andI to the current goal.
An exact proof term for the current goal is Lp1imv.
Let q be given.
Assume Hq: PNo_rel_strict_imv L R (ordsucc beta) q.
We will prove PNoEq_ (ordsucc beta) p1 q.
We prove the intermediate claim Lqb: PNo_rel_strict_imv L R beta q.
An exact proof term for the current goal is PNo_rel_strict_imv_antimon L R (ordsucc beta) Lsb q beta (ordsuccI2 beta) Hq.
We prove the intermediate claim Lpqe: PNoEq_ beta p q.
An exact proof term for the current goal is Hp3 q Lqb.
Apply xm (q beta) to the current goal.
Assume Hq1: q beta.
We will prove PNoEq_ (ordsucc beta) p1 q.
Let gamma be given.
Assume Hc: gamma ordsucc beta.
Apply ordsuccE beta gamma Hc to the current goal.
Assume H3: gamma beta.
We prove the intermediate claim Lpqce: p gamma q gamma.
An exact proof term for the current goal is Lpqe gamma H3.
Apply Lpqce to the current goal.
Assume Hpqc Hqpc.
We will prove p1 gamma q gamma.
Apply iffI to the current goal.
Assume H4: p gamma gamma = beta.
Apply H4 to the current goal.
Assume H5: p gamma.
An exact proof term for the current goal is Hpqc H5.
Assume H5: gamma = beta.
We will prove False.
Apply In_irref beta to the current goal.
rewrite the current goal using H5 (from right to left) at position 1.
An exact proof term for the current goal is H3.
Assume H4: q gamma.
We will prove p gamma gamma = beta.
Apply orIL to the current goal.
We will prove p gamma.
An exact proof term for the current goal is Hqpc H4.
Assume H3: gamma = beta.
We will prove p1 gamma q gamma.
Apply iffI to the current goal.
Assume _.
We will prove q gamma.
rewrite the current goal using H3 (from left to right).
We will prove q beta.
An exact proof term for the current goal is Hq1.
Assume H4: q gamma.
We will prove p gamma gamma = beta.
Apply orIR to the current goal.
An exact proof term for the current goal is H3.
Assume Hq0: ¬ q beta.
We will prove False.
Apply Lnotboth to the current goal.
rewrite the current goal using Hab (from left to right).
Apply andI to the current goal.
We will prove PNo_rel_strict_imv L R (ordsucc beta) p0.
Apply PNoEq_rel_strict_imv L R (ordsucc beta) Lsb q p0 to the current goal.
We will prove PNoEq_ (ordsucc beta) q p0.
Let gamma be given.
Assume Hc: gamma ordsucc beta.
Apply ordsuccE beta gamma Hc to the current goal.
Assume H3: gamma beta.
We prove the intermediate claim Lpqce: p gamma q gamma.
An exact proof term for the current goal is Lpqe gamma H3.
Apply Lpqce to the current goal.
Assume Hpqc Hqpc.
We will prove q gamma p0 gamma.
Apply iffI to the current goal.
Assume H4: q gamma.
We will prove p gamma gamma beta.
Apply andI to the current goal.
We will prove p gamma.
An exact proof term for the current goal is Hqpc H4.
We will prove gamma beta.
Assume H5: gamma = beta.
Apply In_irref beta to the current goal.
rewrite the current goal using H5 (from right to left) at position 1.
An exact proof term for the current goal is H3.
Assume H4: p gamma gamma beta.
Apply H4 to the current goal.
Assume H5 _.
An exact proof term for the current goal is Hpqc H5.
Assume H3: gamma = beta.
We will prove q gamma p0 gamma.
Apply iffI to the current goal.
Assume H4: q gamma.
We will prove False.
Apply Hq0 to the current goal.
rewrite the current goal using H3 (from right to left).
An exact proof term for the current goal is H4.
Assume H4: p0 gamma.
Apply H4 to the current goal.
Assume _ H5.
We will prove False.
Apply H5 to the current goal.
An exact proof term for the current goal is H3.
We will prove PNo_rel_strict_imv L R (ordsucc beta) q.
An exact proof term for the current goal is Hq.
We will prove PNo_rel_strict_imv L R (ordsucc beta) p1.
An exact proof term for the current goal is Lp1imv.
Definition. We define PNo_lenbdd to be λalpha L ⇒ ∀beta, ∀p : setprop, L beta pbeta alpha of type set(set(setprop)prop)prop.
Theorem. (PNo_lenbdd_strict_imv_extend0) The following is provable:
∀L R : set(setprop)prop, ∀alpha, ordinal alphaPNo_lenbdd alpha LPNo_lenbdd alpha R∀p : setprop, PNo_rel_strict_imv L R alpha pPNo_rel_strict_imv L R (ordsucc alpha) (λdelta ⇒ p delta delta alpha)
Proof:
Let L and R be given.
Let alpha be given.
Assume Ha.
Apply Ha to the current goal.
Assume Ha1 _.
Assume HaL HaR.
Let p be given.
Assume Hp1: PNo_rel_strict_imv L R alpha p.
Apply Hp1 to the current goal.
Assume Hp1a Hp1b.
Set p0 to be the term λdelta ⇒ p delta delta alpha of type setprop.
We prove the intermediate claim Lsa: ordinal (ordsucc alpha).
An exact proof term for the current goal is ordinal_ordsucc alpha Ha.
We prove the intermediate claim Lpp0e: PNoEq_ alpha p p0.
An exact proof term for the current goal is PNo_extend0_eq alpha p.
We will prove PNo_rel_strict_upperbd L (ordsucc alpha) p0 PNo_rel_strict_lowerbd R (ordsucc alpha) p0.
Apply andI to the current goal.
We will prove PNo_rel_strict_upperbd L (ordsucc alpha) p0.
Let gamma be given.
Assume Hc: gamma ordsucc alpha.
Let q be given.
Assume Hq: PNo_downc L gamma q.
We prove the intermediate claim Lc: ordinal gamma.
An exact proof term for the current goal is ordinal_Hered (ordsucc alpha) Lsa gamma Hc.
We will prove PNoLt gamma q (ordsucc alpha) p0.
Apply Hq to the current goal.
Let delta be given.
Assume Hq1.
Apply Hq1 to the current goal.
Assume Hd: ordinal delta.
Assume Hq1.
Apply Hq1 to the current goal.
Let r be given.
Assume Hq1.
Apply Hq1 to the current goal.
Assume Hr: L delta r.
Assume Hqr: PNoLe gamma q delta r.
Apply PNoLeLt_tra gamma delta (ordsucc alpha) Lc Hd Lsa q r p0 Hqr to the current goal.
We will prove PNoLt delta r (ordsucc alpha) p0.
We prove the intermediate claim Lda: delta alpha.
An exact proof term for the current goal is HaL delta r Hr.
We prove the intermediate claim Ldsa: delta ordsucc alpha.
Apply ordsuccI1 to the current goal.
An exact proof term for the current goal is Lda.
We prove the intermediate claim Ldr: PNo_downc L delta r.
An exact proof term for the current goal is PNo_downc_ref L delta Hd r Hr.
We prove the intermediate claim Lrp: PNoLt delta r alpha p.
An exact proof term for the current goal is Hp1a delta Lda r Ldr.
Apply PNoLt_trichotomy_or delta (ordsucc alpha) r p0 Hd Lsa to the current goal.
Assume H1.
Apply H1 to the current goal.
Assume H1.
An exact proof term for the current goal is H1.
Assume H1.
Apply H1 to the current goal.
Assume H2: delta = ordsucc alpha.
We will prove False.
Apply In_irref delta to the current goal.
rewrite the current goal using H2 (from left to right) at position 2.
An exact proof term for the current goal is Ldsa.
Assume H1: PNoLt (ordsucc alpha) p0 delta r.
We will prove False.
Apply PNoLt_irref delta r to the current goal.
Apply PNoLt_tra delta alpha delta Hd Ha Hd r p r Lrp to the current goal.
We will prove PNoLt alpha p delta r.
Apply PNoLtE (ordsucc alpha) delta p0 r H1 to the current goal.
Assume H2: PNoLt_ (ordsucc alpha delta) p0 r.
Apply H2 to the current goal.
Let eps be given.
Assume H3.
Apply H3 to the current goal.
Assume He: eps ordsucc alpha delta.
Apply binintersectE (ordsucc alpha) delta eps He to the current goal.
Assume He1 He2.
We prove the intermediate claim Lea: eps alpha.
An exact proof term for the current goal is Ha1 delta Lda eps He2.
Assume H3.
Apply H3 to the current goal.
Assume H3.
Apply H3 to the current goal.
Assume H3: PNoEq_ eps p0 r.
Assume H4: ¬ p0 eps.
Assume H5: r eps.
Apply PNoLtI1 to the current goal.
We will prove PNoLt_ (alpha delta) p r.
We will prove betaalpha delta, PNoEq_ beta p r ¬ p beta r beta.
We use eps to witness the existential quantifier.
Apply andI to the current goal.
We will prove eps alpha delta.
Apply binintersectI to the current goal.
An exact proof term for the current goal is Lea.
An exact proof term for the current goal is He2.
Apply and3I to the current goal.
We will prove PNoEq_ eps p r.
Apply PNoEq_tra_ eps p p0 r to the current goal.
Apply PNoEq_antimon_ p p0 alpha Ha eps Lea to the current goal.
An exact proof term for the current goal is Lpp0e.
An exact proof term for the current goal is H3.
We will prove ¬ p eps.
Assume H5: p eps.
Apply H4 to the current goal.
We will prove p eps eps alpha.
Apply andI to the current goal.
An exact proof term for the current goal is H5.
We will prove eps alpha.
Assume H6: eps = alpha.
Apply In_irref alpha to the current goal.
rewrite the current goal using H6 (from right to left) at position 1.
An exact proof term for the current goal is Lea.
We will prove r eps.
An exact proof term for the current goal is H5.
Assume H2: ordsucc alpha delta.
We will prove False.
An exact proof term for the current goal is In_no2cycle delta (ordsucc alpha) Ldsa H2.
Assume H2: delta ordsucc alpha.
Assume H3: PNoEq_ delta p0 r.
Assume H4: ¬ p0 delta.
Apply PNoLtI3 alpha delta p r Lda to the current goal.
We will prove PNoEq_ delta p r.
Apply PNoEq_tra_ delta p p0 r to the current goal.
Apply PNoEq_antimon_ p p0 alpha Ha delta Lda to the current goal.
An exact proof term for the current goal is Lpp0e.
An exact proof term for the current goal is H3.
We will prove ¬ p delta.
Assume H5: p delta.
Apply H4 to the current goal.
We will prove p delta delta alpha.
Apply andI to the current goal.
An exact proof term for the current goal is H5.
We will prove delta alpha.
Assume H6: delta = alpha.
Apply In_irref alpha to the current goal.
rewrite the current goal using H6 (from right to left) at position 1.
An exact proof term for the current goal is Lda.
We will prove PNo_rel_strict_lowerbd R (ordsucc alpha) p0.
Let gamma be given.
Assume Hc: gamma ordsucc alpha.
Let q be given.
Assume Hq: PNo_upc R gamma q.
We prove the intermediate claim Lc: ordinal gamma.
An exact proof term for the current goal is ordinal_Hered (ordsucc alpha) Lsa gamma Hc.
We will prove PNoLt (ordsucc alpha) p0 gamma q.
Apply PNoLt_tra (ordsucc alpha) alpha gamma Lsa Ha Lc p0 p q to the current goal.
We will prove PNoLt (ordsucc alpha) p0 alpha p.
Apply PNoLtI3 to the current goal.
We will prove alpha ordsucc alpha.
Apply ordsuccI2 to the current goal.
We will prove PNoEq_ alpha p0 p.
Apply PNoEq_sym_ to the current goal.
An exact proof term for the current goal is Lpp0e.
We will prove ¬ p0 alpha.
Assume H2: p0 alpha.
Apply H2 to the current goal.
Assume H3: p alpha.
Assume H4: alpha alpha.
Apply H4 to the current goal.
Use reflexivity.
We will prove PNoLt alpha p gamma q.
Apply Hq to the current goal.
Let delta be given.
Assume Hq1.
Apply Hq1 to the current goal.
Assume Hd: ordinal delta.
Assume Hq1.
Apply Hq1 to the current goal.
Let r be given.
Assume Hq1.
Apply Hq1 to the current goal.
Assume Hr: R delta r.
Assume Hrq: PNoLe delta r gamma q.
We prove the intermediate claim Ldr: PNo_upc R delta r.
An exact proof term for the current goal is PNo_upc_ref R delta Hd r Hr.
Apply (λH : PNoLt alpha p delta rPNoLtLe_tra alpha delta gamma Ha Hd Lc p r q H Hrq) to the current goal.
We will prove PNoLt alpha p delta r.
An exact proof term for the current goal is Hp1b delta (HaR delta r Hr) r Ldr.
Theorem. (PNo_lenbdd_strict_imv_extend1) The following is provable:
∀L R : set(setprop)prop, ∀alpha, ordinal alphaPNo_lenbdd alpha LPNo_lenbdd alpha R∀p : setprop, PNo_rel_strict_imv L R alpha pPNo_rel_strict_imv L R (ordsucc alpha) (λdelta ⇒ p delta delta = alpha)
Proof:
Let L and R be given.
Let alpha be given.
Assume Ha.
Apply Ha to the current goal.
Assume Ha1 _.
Assume HaL HaR.
Let p be given.
Assume Hp1: PNo_rel_strict_imv L R alpha p.
Apply Hp1 to the current goal.
Assume Hp1a Hp1b.
Set p1 to be the term λdelta ⇒ p delta delta = alpha of type setprop.
We prove the intermediate claim Lsa: ordinal (ordsucc alpha).
An exact proof term for the current goal is ordinal_ordsucc alpha Ha.
We prove the intermediate claim Lpp1e: PNoEq_ alpha p p1.
An exact proof term for the current goal is PNo_extend1_eq alpha p.
We will prove PNo_rel_strict_upperbd L (ordsucc alpha) p1 PNo_rel_strict_lowerbd R (ordsucc alpha) p1.
Apply andI to the current goal.
We will prove PNo_rel_strict_upperbd L (ordsucc alpha) p1.
Let gamma be given.
Assume Hc: gamma ordsucc alpha.
Let q be given.
Assume Hq: PNo_downc L gamma q.
We prove the intermediate claim Lc: ordinal gamma.
An exact proof term for the current goal is ordinal_Hered (ordsucc alpha) Lsa gamma Hc.
We will prove PNoLt gamma q (ordsucc alpha) p1.
Apply PNoLt_tra gamma alpha (ordsucc alpha) Lc Ha Lsa q p p1 to the current goal.
We will prove PNoLt gamma q alpha p.
Apply Hq to the current goal.
Let delta be given.
Assume Hq1.
Apply Hq1 to the current goal.
Assume Hd: ordinal delta.
Assume Hq1.
Apply Hq1 to the current goal.
Let r be given.
Assume Hq1.
Apply Hq1 to the current goal.
Assume Hr: L delta r.
Assume Hqr: PNoLe gamma q delta r.
We prove the intermediate claim Ldr: PNo_downc L delta r.
We will prove beta, ordinal beta q : setprop, L beta q PNoLe delta r beta q.
We use delta to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is Hd.
We use r to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is Hr.
Apply PNoLe_ref to the current goal.
Apply PNoLeLt_tra gamma delta alpha Lc Hd Ha q r p Hqr to the current goal.
We will prove PNoLt delta r alpha p.
An exact proof term for the current goal is Hp1a delta (HaL delta r Hr) r Ldr.
We will prove PNoLt alpha p (ordsucc alpha) p1.
Apply PNoLtI2 to the current goal.
We will prove alpha ordsucc alpha.
Apply ordsuccI2 to the current goal.
We will prove PNoEq_ alpha p p1.
An exact proof term for the current goal is Lpp1e.
We will prove p1 alpha.
We will prove p alpha alpha = alpha.
Apply orIR to the current goal.
Use reflexivity.
We will prove PNo_rel_strict_lowerbd R (ordsucc alpha) p1.
Let gamma be given.
Assume Hc: gamma ordsucc alpha.
Let q be given.
Assume Hq: PNo_upc R gamma q.
We prove the intermediate claim Lc: ordinal gamma.
An exact proof term for the current goal is ordinal_Hered (ordsucc alpha) Lsa gamma Hc.
We will prove PNoLt (ordsucc alpha) p1 gamma q.
Apply Hq to the current goal.
Let delta be given.
Assume Hq1.
Apply Hq1 to the current goal.
Assume Hd: ordinal delta.
Assume Hq1.
Apply Hq1 to the current goal.
Let r be given.
Assume Hq1.
Apply Hq1 to the current goal.
Assume Hr: R delta r.
Assume Hrq: PNoLe delta r gamma q.
Apply (λH : PNoLt (ordsucc alpha) p1 delta rPNoLtLe_tra (ordsucc alpha) delta gamma Lsa Hd Lc p1 r q H Hrq) to the current goal.
We will prove PNoLt (ordsucc alpha) p1 delta r.
We prove the intermediate claim Lda: delta alpha.
An exact proof term for the current goal is HaR delta r Hr.
We prove the intermediate claim Ldsa: delta ordsucc alpha.
Apply ordsuccI1 to the current goal.
An exact proof term for the current goal is Lda.
We prove the intermediate claim Ldr: PNo_upc R delta r.
We will prove beta, ordinal beta q : setprop, R beta q PNoLe beta q delta r.
We use delta to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is Hd.
We use r to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is Hr.
Apply PNoLe_ref to the current goal.
We prove the intermediate claim Lpr: PNoLt alpha p delta r.
An exact proof term for the current goal is Hp1b delta Lda r Ldr.
Apply PNoLt_trichotomy_or delta (ordsucc alpha) r p1 Hd Lsa to the current goal.
Assume H1.
Apply H1 to the current goal.
Assume H1: PNoLt delta r (ordsucc alpha) p1.
We will prove False.
Apply PNoLt_irref alpha p to the current goal.
We will prove PNoLt alpha p alpha p.
Apply PNoLt_tra alpha delta alpha Ha Hd Ha p r p Lpr to the current goal.
We will prove PNoLt delta r alpha p.
Apply PNoLtE delta (ordsucc alpha) r p1 H1 to the current goal.
Assume H2: PNoLt_ (delta ordsucc alpha) r p1.
Apply H2 to the current goal.
Let eps be given.
Assume H3.
Apply H3 to the current goal.
Assume He: eps delta ordsucc alpha.
Apply binintersectE delta (ordsucc alpha) eps He to the current goal.
Assume He1 He2.
We prove the intermediate claim Lea: eps alpha.
An exact proof term for the current goal is Ha1 delta Lda eps He1.
Assume H3.
Apply H3 to the current goal.
Assume H3.
Apply H3 to the current goal.
Assume H3: PNoEq_ eps r p1.
Assume H4: ¬ r eps.
Assume H5: p1 eps.
Apply PNoLtI1 to the current goal.
We will prove PNoLt_ (delta alpha) r p.
We will prove betadelta alpha, PNoEq_ beta r p ¬ r beta p beta.
We use eps to witness the existential quantifier.
Apply andI to the current goal.
We will prove eps delta alpha.
Apply binintersectI to the current goal.
An exact proof term for the current goal is He1.
An exact proof term for the current goal is Lea.
Apply and3I to the current goal.
We will prove PNoEq_ eps r p.
Apply PNoEq_tra_ eps r p1 p to the current goal.
An exact proof term for the current goal is H3.
Apply PNoEq_antimon_ p1 p alpha Ha eps Lea to the current goal.
Apply PNoEq_sym_ to the current goal.
An exact proof term for the current goal is Lpp1e.
We will prove ¬ r eps.
An exact proof term for the current goal is H4.
We will prove p eps.
Apply H5 to the current goal.
An exact proof term for the current goal is (λH ⇒ H).
Assume H6: eps = alpha.
We will prove False.
Apply In_irref alpha to the current goal.
rewrite the current goal using H6 (from right to left) at position 1.
An exact proof term for the current goal is Lea.
Assume H2: delta ordsucc alpha.
Assume H3: PNoEq_ delta r p1.
Assume H4: p1 delta.
Apply PNoLtI2 delta alpha r p Lda to the current goal.
We will prove PNoEq_ delta r p.
Apply PNoEq_tra_ delta r p1 p to the current goal.
An exact proof term for the current goal is H3.
Apply PNoEq_antimon_ p1 p alpha Ha delta Lda to the current goal.
Apply PNoEq_sym_ to the current goal.
An exact proof term for the current goal is Lpp1e.
We will prove p delta.
Apply H4 to the current goal.
An exact proof term for the current goal is (λH ⇒ H).
Assume H5: delta = alpha.
We will prove False.
Apply In_irref alpha to the current goal.
rewrite the current goal using H5 (from right to left) at position 1.
An exact proof term for the current goal is Lda.
Assume H2: ordsucc alpha delta.
We will prove False.
An exact proof term for the current goal is In_no2cycle delta (ordsucc alpha) Ldsa H2.
Assume H1.
Apply H1 to the current goal.
Assume H2: delta = ordsucc alpha.
We will prove False.
Apply In_irref delta to the current goal.
rewrite the current goal using H2 (from left to right) at position 2.
An exact proof term for the current goal is Ldsa.
Assume H1.
An exact proof term for the current goal is H1.
Theorem. (PNo_lenbdd_strict_imv_split) The following is provable:
∀L R : set(setprop)prop, ∀alpha, ordinal alphaPNo_lenbdd alpha LPNo_lenbdd alpha R∀p : setprop, PNo_rel_strict_imv L R alpha pPNo_rel_strict_split_imv L R alpha p
Proof:
Let L and R be given.
Let alpha be given.
Assume Ha.
Assume HaL HaR.
Let p be given.
Assume Hp1.
We will prove PNo_rel_strict_split_imv L R alpha p.
An exact proof term for the current goal is andI (PNo_rel_strict_imv L R (ordsucc alpha) (λdelta ⇒ p delta delta alpha)) (PNo_rel_strict_imv L R (ordsucc alpha) (λdelta ⇒ p delta delta = alpha)) (PNo_lenbdd_strict_imv_extend0 L R alpha Ha HaL HaR p Hp1) (PNo_lenbdd_strict_imv_extend1 L R alpha Ha HaL HaR p Hp1).
Theorem. (PNo_rel_imv_bdd_ex) The following is provable:
∀L R : set(setprop)prop, PNoLt_pwise L R∀alpha, ordinal alphaPNo_lenbdd alpha LPNo_lenbdd alpha Rbetaordsucc alpha, p : setprop, PNo_rel_strict_split_imv L R beta p
Proof:
Let L and R be given.
Assume HLR.
Let alpha be given.
Assume Ha.
Apply Ha to the current goal.
Assume Ha1 _.
Assume HaL HaR.
We prove the intermediate claim Lsa: ordinal (ordsucc alpha).
An exact proof term for the current goal is ordinal_ordsucc alpha Ha.
Apply PNo_rel_imv_ex L R HLR alpha Ha to the current goal.
Assume H2.
Apply H2 to the current goal.
Let p be given.
Assume Hp: PNo_rel_strict_uniq_imv L R alpha p.
Apply Hp to the current goal.
Assume Hp1: PNo_rel_strict_imv L R alpha p.
Apply Hp1 to the current goal.
Assume Hp1a Hp1b.
Assume Hp2: ∀q : setprop, PNo_rel_strict_imv L R alpha qPNoEq_ alpha p q.
We use alpha to witness the existential quantifier.
Apply andI to the current goal.
We will prove alpha ordsucc alpha.
Apply ordsuccI2 to the current goal.
We use p to witness the existential quantifier.
We will prove PNo_rel_strict_split_imv L R alpha p.
An exact proof term for the current goal is PNo_lenbdd_strict_imv_split L R alpha Ha HaL HaR p Hp1.
Assume H1.
Apply H1 to the current goal.
Let beta be given.
Assume H1.
Apply H1 to the current goal.
Assume Hb: beta alpha.
Assume H1.
We use beta to witness the existential quantifier.
Apply andI to the current goal.
We will prove beta ordsucc alpha.
Apply ordsuccI1 to the current goal.
An exact proof term for the current goal is Hb.
An exact proof term for the current goal is H1.
Definition. We define PNo_strict_upperbd to be λL alpha p ⇒ ∀beta, ordinal beta∀q : setprop, L beta qPNoLt beta q alpha p of type (set(setprop)prop)set(setprop)prop.
Definition. We define PNo_strict_lowerbd to be λR alpha p ⇒ ∀beta, ordinal beta∀q : setprop, R beta qPNoLt alpha p beta q of type (set(setprop)prop)set(setprop)prop.
Definition. We define PNo_strict_imv to be λL R alpha p ⇒ PNo_strict_upperbd L alpha p PNo_strict_lowerbd R alpha p of type (set(setprop)prop)(set(setprop)prop)set(setprop)prop.
Theorem. (PNoEq_strict_upperbd) The following is provable:
∀L : set(setprop)prop, ∀alpha, ordinal alpha∀p q : setprop, PNoEq_ alpha p qPNo_strict_upperbd L alpha pPNo_strict_upperbd L alpha q
Proof:
Let L and alpha be given.
Assume Ha.
Let p and q be given.
Assume Hpq: PNoEq_ alpha p q.
Assume H1: PNo_strict_upperbd L alpha p.
We will prove PNo_strict_upperbd L alpha q.
Let beta be given.
Assume Hb: ordinal beta.
Let r be given.
Assume H2: L beta r.
We will prove PNoLt beta r alpha q.
Apply PNoLtEq_tra beta alpha Hb Ha r p q to the current goal.
We will prove PNoLt beta r alpha p.
An exact proof term for the current goal is H1 beta Hb r H2.
We will prove PNoEq_ alpha p q.
An exact proof term for the current goal is Hpq.
Theorem. (PNoEq_strict_lowerbd) The following is provable:
∀R : set(setprop)prop, ∀alpha, ordinal alpha∀p q : setprop, PNoEq_ alpha p qPNo_strict_lowerbd R alpha pPNo_strict_lowerbd R alpha q
Proof:
Let R and alpha be given.
Assume Ha.
Let p and q be given.
Assume Hpq: PNoEq_ alpha p q.
Assume H1: PNo_strict_lowerbd R alpha p.
We will prove PNo_strict_lowerbd R alpha q.
Let beta be given.
Assume Hb: ordinal beta.
Let r be given.
Assume H2: R beta r.
We will prove PNoLt alpha q beta r.
Apply PNoEqLt_tra alpha beta Ha Hb q p r to the current goal.
We will prove PNoEq_ alpha q p.
Apply PNoEq_sym_ to the current goal.
An exact proof term for the current goal is Hpq.
We will prove PNoLt alpha p beta r.
An exact proof term for the current goal is H1 beta Hb r H2.
Theorem. (PNoEq_strict_imv) The following is provable:
∀L R : set(setprop)prop, ∀alpha, ordinal alpha∀p q : setprop, PNoEq_ alpha p qPNo_strict_imv L R alpha pPNo_strict_imv L R alpha q
Proof:
Let L, R and alpha be given.
Assume Ha.
Let p and q be given.
Assume Hpq H1.
Apply H1 to the current goal.
Assume H2 H3.
We will prove PNo_strict_upperbd L alpha q PNo_strict_lowerbd R alpha q.
Apply andI to the current goal.
An exact proof term for the current goal is PNoEq_strict_upperbd L alpha Ha p q Hpq H2.
An exact proof term for the current goal is PNoEq_strict_lowerbd R alpha Ha p q Hpq H3.
Theorem. (PNo_strict_upperbd_imp_rel_strict_upperbd) The following is provable:
∀L : set(setprop)prop, ∀alpha, ordinal alphabetaordsucc alpha, ∀p : setprop, PNo_strict_upperbd L alpha pPNo_rel_strict_upperbd L beta p
Proof:
Let L and alpha be given.
Assume Ha: ordinal alpha.
Let beta be given.
Assume Hb: beta ordsucc alpha.
Let p be given.
Assume H1: PNo_strict_upperbd L alpha p.
Let gamma be given.
Assume Hc: gamma beta.
Let q be given.
Assume Hq: PNo_downc L gamma q.
Apply Ha to the current goal.
Assume Ha1 _.
We prove the intermediate claim Lsa: ordinal (ordsucc alpha).
An exact proof term for the current goal is ordinal_ordsucc alpha Ha.
We prove the intermediate claim Lb: ordinal beta.
An exact proof term for the current goal is ordinal_Hered (ordsucc alpha) Lsa beta Hb.
We prove the intermediate claim Lb1: TransSet beta.
Apply Lb to the current goal.
Assume H _.
An exact proof term for the current goal is H.
We prove the intermediate claim Lc: ordinal gamma.
An exact proof term for the current goal is ordinal_Hered beta Lb gamma Hc.
We prove the intermediate claim Lcb: gamma beta.
An exact proof term for the current goal is Lb1 gamma Hc.
We will prove PNoLt gamma q beta p.
Apply Hq to the current goal.
Let delta be given.
Assume H2.
Apply H2 to the current goal.
Assume Hd: ordinal delta.
Assume H2.
Apply H2 to the current goal.
Let r be given.
Assume H2.
Apply H2 to the current goal.
Assume H2: L delta r.
Assume H3: PNoLe gamma q delta r.
We prove the intermediate claim L1: PNoLt delta r alpha p.
An exact proof term for the current goal is H1 delta Hd r H2.
We prove the intermediate claim L2: PNoLt gamma q alpha p.
An exact proof term for the current goal is PNoLeLt_tra gamma delta alpha Lc Hd Ha q r p H3 L1.
We prove the intermediate claim Lca: gamma alpha.
Apply ordsuccE alpha beta Hb to the current goal.
Assume Hb1: beta alpha.
An exact proof term for the current goal is Ha1 beta Hb1 gamma Hc.
Assume Hb1: beta = alpha.
rewrite the current goal using Hb1 (from right to left).
An exact proof term for the current goal is Hc.
We prove the intermediate claim Lca2: gamma alpha.
An exact proof term for the current goal is Ha1 gamma Lca.
We will prove PNoLt gamma q beta p.
Apply PNoLt_trichotomy_or gamma beta q p Lc Lb to the current goal.
Assume H4.
Apply H4 to the current goal.
Assume H4.
An exact proof term for the current goal is H4.
Assume H4.
Apply H4 to the current goal.
Assume H4: gamma = beta.
We will prove False.
Apply In_irref beta to the current goal.
rewrite the current goal using H4 (from right to left) at position 1.
An exact proof term for the current goal is Hc.
Assume H4: PNoLt beta p gamma q.
We will prove False.
Apply PNoLtE beta gamma p q H4 to the current goal.
rewrite the current goal using binintersect_com (from left to right).
rewrite the current goal using binintersect_Subq_eq_1 gamma beta Lcb (from left to right).
Assume H5: PNoLt_ gamma p q.
Apply H5 to the current goal.
Apply PNoLt_irref alpha p to the current goal.
Apply PNoLt_tra alpha gamma alpha Ha Lc Ha p q p to the current goal.
We will prove PNoLt alpha p gamma q.
Apply PNoLtI1 to the current goal.
We will prove PNoLt_ (alpha gamma) p q.
rewrite the current goal using binintersect_com (from left to right).
rewrite the current goal using binintersect_Subq_eq_1 gamma alpha Lca2 (from left to right).
We will prove PNoLt_ gamma p q.
An exact proof term for the current goal is H5.
We will prove PNoLt gamma q alpha p.
An exact proof term for the current goal is L2.
Assume H5: beta gamma.
We will prove False.
An exact proof term for the current goal is In_no2cycle beta gamma H5 Hc.
Assume H5: gamma beta.
Assume H6: PNoEq_ gamma p q.
Assume H7: ¬ p gamma.
Apply PNoLt_irref alpha p to the current goal.
Apply PNoLt_tra alpha gamma alpha Ha Lc Ha p q p to the current goal.
We will prove PNoLt alpha p gamma q.
Apply PNoLtI3 to the current goal.
We will prove gamma alpha.
An exact proof term for the current goal is Lca.
We will prove PNoEq_ gamma p q.
An exact proof term for the current goal is H6.
We will prove ¬ p gamma.
An exact proof term for the current goal is H7.
We will prove PNoLt gamma q alpha p.
An exact proof term for the current goal is L2.
Theorem. (PNo_strict_lowerbd_imp_rel_strict_lowerbd) The following is provable:
∀R : set(setprop)prop, ∀alpha, ordinal alphabetaordsucc alpha, ∀p : setprop, PNo_strict_lowerbd R alpha pPNo_rel_strict_lowerbd R beta p
Proof:
Let R and alpha be given.
Assume Ha: ordinal alpha.
Let beta be given.
Assume Hb: beta ordsucc alpha.
Let p be given.
Assume H1: PNo_strict_lowerbd R alpha p.
Let gamma be given.
Assume Hc: gamma beta.
Let q be given.
Assume Hq: PNo_upc R gamma q.
Apply Ha to the current goal.
Assume Ha1 _.
We prove the intermediate claim Lsa: ordinal (ordsucc alpha).
An exact proof term for the current goal is ordinal_ordsucc alpha Ha.
We prove the intermediate claim Lb: ordinal beta.
An exact proof term for the current goal is ordinal_Hered (ordsucc alpha) Lsa beta Hb.
We prove the intermediate claim Lb1: TransSet beta.
Apply Lb to the current goal.
Assume H _.
An exact proof term for the current goal is H.
We prove the intermediate claim Lc: ordinal gamma.
An exact proof term for the current goal is ordinal_Hered beta Lb gamma Hc.
We prove the intermediate claim Lcb: gamma beta.
An exact proof term for the current goal is Lb1 gamma Hc.
We will prove PNoLt beta p gamma q.
Apply Hq to the current goal.
Let delta be given.
Assume H2.
Apply H2 to the current goal.
Assume Hd: ordinal delta.
Assume H2.
Apply H2 to the current goal.
Let r be given.
Assume H2.
Apply H2 to the current goal.
Assume H2: R delta r.
Assume H3: PNoLe delta r gamma q.
We prove the intermediate claim L1: PNoLt alpha p delta r.
An exact proof term for the current goal is H1 delta Hd r H2.
We prove the intermediate claim L2: PNoLt alpha p gamma q.
An exact proof term for the current goal is PNoLtLe_tra alpha delta gamma Ha Hd Lc p r q L1 H3.
We prove the intermediate claim Lca: gamma alpha.
Apply ordsuccE alpha beta Hb to the current goal.
Assume Hb1: beta alpha.
An exact proof term for the current goal is Ha1 beta Hb1 gamma Hc.
Assume Hb1: beta = alpha.
rewrite the current goal using Hb1 (from right to left).
An exact proof term for the current goal is Hc.
We prove the intermediate claim Lca2: gamma alpha.
An exact proof term for the current goal is Ha1 gamma Lca.
We will prove PNoLt beta p gamma q.
Apply PNoLt_trichotomy_or gamma beta q p Lc Lb to the current goal.
Assume H4.
Apply H4 to the current goal.
Assume H4: PNoLt gamma q beta p.
We will prove False.
Apply PNoLtE gamma beta q p H4 to the current goal.
rewrite the current goal using binintersect_Subq_eq_1 gamma beta Lcb (from left to right).
Assume H5: PNoLt_ gamma q p.
Apply H5 to the current goal.
Apply PNoLt_irref alpha p to the current goal.
Apply PNoLt_tra alpha gamma alpha Ha Lc Ha p q p to the current goal.
We will prove PNoLt alpha p gamma q.
An exact proof term for the current goal is L2.
We will prove PNoLt gamma q alpha p.
Apply PNoLtI1 to the current goal.
We will prove PNoLt_ (gamma alpha) q p.
rewrite the current goal using binintersect_Subq_eq_1 gamma alpha Lca2 (from left to right).
We will prove PNoLt_ gamma q p.
An exact proof term for the current goal is H5.
Assume H5: gamma beta.
Assume H6: PNoEq_ gamma q p.
Assume H7: p gamma.
Apply PNoLt_irref alpha p to the current goal.
Apply PNoLt_tra alpha gamma alpha Ha Lc Ha p q p to the current goal.
We will prove PNoLt alpha p gamma q.
An exact proof term for the current goal is L2.
We will prove PNoLt gamma q alpha p.
Apply PNoLtI2 to the current goal.
We will prove gamma alpha.
An exact proof term for the current goal is Lca.
We will prove PNoEq_ gamma q p.
An exact proof term for the current goal is H6.
We will prove p gamma.
An exact proof term for the current goal is H7.
Assume H5: beta gamma.
We will prove False.
An exact proof term for the current goal is In_no2cycle beta gamma H5 Hc.
Assume H4.
Apply H4 to the current goal.
Assume H4: gamma = beta.
We will prove False.
Apply In_irref beta to the current goal.
rewrite the current goal using H4 (from right to left) at position 1.
An exact proof term for the current goal is Hc.
Assume H4.
An exact proof term for the current goal is H4.
Theorem. (PNo_strict_imv_imp_rel_strict_imv) The following is provable:
∀L R : set(setprop)prop, ∀alpha, ordinal alphabetaordsucc alpha, ∀p : setprop, PNo_strict_imv L R alpha pPNo_rel_strict_imv L R beta p
Proof:
Let L, R and alpha be given.
Assume Ha: ordinal alpha.
Let beta be given.
Assume Hb: beta ordsucc alpha.
Let p be given.
Assume H1: PNo_strict_imv L R alpha p.
Apply H1 to the current goal.
Assume H2: PNo_strict_upperbd L alpha p.
Assume H3: PNo_strict_lowerbd R alpha p.
We will prove PNo_rel_strict_imv L R beta p.
Apply andI to the current goal.
An exact proof term for the current goal is PNo_strict_upperbd_imp_rel_strict_upperbd L alpha Ha beta Hb p H2.
An exact proof term for the current goal is PNo_strict_lowerbd_imp_rel_strict_lowerbd R alpha Ha beta Hb p H3.
Theorem. (PNo_rel_split_imv_imp_strict_imv) The following is provable:
∀L R : set(setprop)prop, ∀alpha, ordinal alpha∀p : setprop, PNo_rel_strict_split_imv L R alpha pPNo_strict_imv L R alpha p
Proof:
Let L and R be given.
Let alpha be given.
Assume Ha: ordinal alpha.
Let p be given.
Assume Hp: PNo_rel_strict_split_imv L R alpha p.
We prove the intermediate claim Lsa: ordinal (ordsucc alpha).
An exact proof term for the current goal is ordinal_ordsucc alpha Ha.
Set p0 to be the term λdelta ⇒ p delta delta alpha of type setprop.
Set p1 to be the term λdelta ⇒ p delta delta = alpha of type setprop.
Apply Hp to the current goal.
Assume Hp0: PNo_rel_strict_imv L R (ordsucc alpha) p0.
Assume Hp1: PNo_rel_strict_imv L R (ordsucc alpha) p1.
Apply Hp0 to the current goal.
Assume Hp0a: PNo_rel_strict_upperbd L (ordsucc alpha) p0.
Assume Hp0b: PNo_rel_strict_lowerbd R (ordsucc alpha) p0.
Apply Hp1 to the current goal.
Assume Hp1a: PNo_rel_strict_upperbd L (ordsucc alpha) p1.
Assume Hp1b: PNo_rel_strict_lowerbd R (ordsucc alpha) p1.
We prove the intermediate claim Lnp0a: ¬ p0 alpha.
Assume H10.
Apply H10 to the current goal.
Assume H11: p alpha.
Assume H12: alpha alpha.
Apply H12 to the current goal.
Use reflexivity.
We prove the intermediate claim Lp1a: p1 alpha.
We will prove p alpha alpha = alpha.
Apply orIR to the current goal.
Use reflexivity.
We prove the intermediate claim Lap0p: PNoLt (ordsucc alpha) p0 alpha p.
Apply PNoLtI3 to the current goal.
Apply ordsuccI2 to the current goal.
We will prove PNoEq_ alpha p0 p.
Apply PNoEq_sym_ to the current goal.
Apply PNo_extend0_eq to the current goal.
We will prove ¬ p0 alpha.
An exact proof term for the current goal is Lnp0a.
We prove the intermediate claim Lapp1: PNoLt alpha p (ordsucc alpha) p1.
Apply PNoLtI2 to the current goal.
Apply ordsuccI2 to the current goal.
We will prove PNoEq_ alpha p p1.
Apply PNo_extend1_eq to the current goal.
We will prove p1 alpha.
An exact proof term for the current goal is Lp1a.
We will prove PNo_strict_upperbd L alpha p PNo_strict_lowerbd R alpha p.
Apply andI to the current goal.
Let beta be given.
Assume Hb: ordinal beta.
Let q be given.
Assume Hq: L beta q.
We will prove PNoLt beta q alpha p.
We prove the intermediate claim L4: PNo_downc L beta q.
Apply PNo_downc_ref L beta Hb to the current goal.
An exact proof term for the current goal is Hq.
We prove the intermediate claim L5: beta ordsucc alphaPNoLt beta q alpha p.
Assume H10: beta ordsucc alpha.
Apply PNoLt_tra beta (ordsucc alpha) alpha Hb Lsa Ha q p0 p to the current goal.
We will prove PNoLt beta q (ordsucc alpha) p0.
Apply Hp0a beta H10 q to the current goal.
We will prove PNo_downc L beta q.
An exact proof term for the current goal is L4.
An exact proof term for the current goal is Lap0p.
We prove the intermediate claim L6: gammaordsucc alpha, gamma betaPNoEq_ gamma p qq gammap0 gamma.
Let gamma be given.
Assume Hc1: gamma ordsucc alpha.
Assume Hc2: gamma beta.
Assume H10: PNoEq_ gamma p q.
Assume H11: q gamma.
Apply dneg to the current goal.
Assume HNC: ¬ p0 gamma.
We prove the intermediate claim Lc: ordinal gamma.
An exact proof term for the current goal is ordinal_Hered beta Hb gamma Hc2.
We prove the intermediate claim L6a: PNoLt gamma q beta q.
Apply PNoLtI2 to the current goal.
An exact proof term for the current goal is Hc2.
We will prove PNoEq_ gamma q q.
Apply PNoEq_ref_ to the current goal.
We will prove q gamma.
An exact proof term for the current goal is H11.
We prove the intermediate claim L6b: PNo_downc L gamma q.
We will prove delta, ordinal delta r : setprop, L delta r PNoLe gamma q delta r.
We use beta to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is Hb.
We use q to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is Hq.
Apply PNoLeI1 to the current goal.
An exact proof term for the current goal is L6a.
We prove the intermediate claim L6c: PNoLt gamma q (ordsucc alpha) p0.
An exact proof term for the current goal is Hp0a gamma Hc1 q L6b.
We prove the intermediate claim L6d: PNoLt (ordsucc alpha) p0 gamma q.
Apply PNoLtI3 to the current goal.
An exact proof term for the current goal is Hc1.
We will prove PNoEq_ gamma p0 q.
Apply PNoEq_tra_ gamma p0 p q to the current goal.
Apply PNoEq_sym_ to the current goal.
We will prove PNoEq_ gamma p p0.
Apply ordsuccE alpha gamma Hc1 to the current goal.
Assume H12: gamma alpha.
Apply PNoEq_antimon_ p p0 alpha Ha gamma H12 to the current goal.
We will prove PNoEq_ alpha p p0.
An exact proof term for the current goal is PNo_extend0_eq alpha p.
Assume H12: gamma = alpha.
rewrite the current goal using H12 (from left to right).
We will prove PNoEq_ alpha p p0.
An exact proof term for the current goal is PNo_extend0_eq alpha p.
An exact proof term for the current goal is H10.
We will prove ¬ p0 gamma.
An exact proof term for the current goal is HNC.
Apply PNoLt_irref gamma q to the current goal.
An exact proof term for the current goal is PNoLt_tra gamma (ordsucc alpha) gamma Lc Lsa Lc q p0 q L6c L6d.
Apply PNoLt_trichotomy_or alpha beta p q Ha Hb to the current goal.
Assume H10.
Apply H10 to the current goal.
Assume H10: PNoLt alpha p beta q.
Apply PNoLtE alpha beta p q H10 to the current goal.
Assume H11: PNoLt_ (alpha beta) p q.
Apply H11 to the current goal.
Let gamma be given.
Assume H12.
Apply H12 to the current goal.
Assume Hc: gamma alpha beta.
Assume H12.
Apply H12 to the current goal.
Assume H12.
Apply H12 to the current goal.
Assume H12: PNoEq_ gamma p q.
Assume H13: ¬ p gamma.
Assume H14: q gamma.
We will prove False.
Apply binintersectE alpha beta gamma Hc to the current goal.
Assume Hc1: gamma alpha.
Assume Hc2: gamma beta.
Apply L6 gamma (ordsuccI1 alpha gamma Hc1) Hc2 H12 H14 to the current goal.
Assume H15: p gamma.
Assume _.
Apply H13 to the current goal.
An exact proof term for the current goal is H15.
Assume H11: alpha beta.
Assume H12: PNoEq_ alpha p q.
Assume H13: q alpha.
We will prove False.
Apply Lnp0a to the current goal.
We will prove p0 alpha.
An exact proof term for the current goal is L6 alpha (ordsuccI2 alpha) H11 H12 H13.
Assume H11: beta alpha.
Assume _ _.
Apply L5 to the current goal.
Apply ordsuccI1 to the current goal.
An exact proof term for the current goal is H11.
Assume H10.
Apply H10 to the current goal.
Assume H10a: alpha = beta.
Assume H10b: PNoEq_ alpha p q.
Apply L5 to the current goal.
We will prove beta ordsucc alpha.
rewrite the current goal using H10a (from right to left).
Apply ordsuccI2 to the current goal.
Assume H10: PNoLt beta q alpha p.
An exact proof term for the current goal is H10.
Let beta be given.
Assume Hb: ordinal beta.
Let q be given.
Assume Hq: R beta q.
We will prove PNoLt alpha p beta q.
We prove the intermediate claim L4: PNo_upc R beta q.
Apply PNo_upc_ref R beta Hb to the current goal.
An exact proof term for the current goal is Hq.
We prove the intermediate claim L5: beta ordsucc alphaPNoLt alpha p beta q.
Assume H10: beta ordsucc alpha.
Apply PNoLt_tra alpha (ordsucc alpha) beta Ha Lsa Hb p p1 q to the current goal.
An exact proof term for the current goal is Lapp1.
We will prove PNoLt (ordsucc alpha) p1 beta q.
Apply Hp1b beta H10 q to the current goal.
We will prove PNo_upc R beta q.
An exact proof term for the current goal is L4.
We prove the intermediate claim L6: gammaordsucc alpha, gamma betaPNoEq_ gamma q pp1 gammaq gamma.
Let gamma be given.
Assume Hc1: gamma ordsucc alpha.
Assume Hc2: gamma beta.
Assume H10: PNoEq_ gamma q p.
Assume H11: p1 gamma.
Apply dneg to the current goal.
Assume HNC: ¬ q gamma.
We prove the intermediate claim Lc: ordinal gamma.
An exact proof term for the current goal is ordinal_Hered beta Hb gamma Hc2.
We prove the intermediate claim L6a: PNoLt beta q gamma q.
Apply PNoLtI3 to the current goal.
An exact proof term for the current goal is Hc2.
We will prove PNoEq_ gamma q q.
Apply PNoEq_ref_ to the current goal.
We will prove ¬ q gamma.
An exact proof term for the current goal is HNC.
We prove the intermediate claim L6b: PNo_upc R gamma q.
We will prove delta, ordinal delta r : setprop, R delta r PNoLe delta r gamma q.
We use beta to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is Hb.
We use q to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is Hq.
Apply PNoLeI1 to the current goal.
An exact proof term for the current goal is L6a.
We prove the intermediate claim L6c: PNoLt (ordsucc alpha) p1 gamma q.
An exact proof term for the current goal is Hp1b gamma Hc1 q L6b.
We prove the intermediate claim L6d: PNoLt gamma q (ordsucc alpha) p1.
Apply PNoLtI2 to the current goal.
An exact proof term for the current goal is Hc1.
We will prove PNoEq_ gamma q p1.
Apply PNoEq_tra_ gamma q p p1 to the current goal.
An exact proof term for the current goal is H10.
We will prove PNoEq_ gamma p p1.
Apply ordsuccE alpha gamma Hc1 to the current goal.
Assume H12: gamma alpha.
Apply PNoEq_antimon_ p p1 alpha Ha gamma H12 to the current goal.
We will prove PNoEq_ alpha p p1.
An exact proof term for the current goal is PNo_extend1_eq alpha p.
Assume H12: gamma = alpha.
rewrite the current goal using H12 (from left to right).
We will prove PNoEq_ alpha p p1.
An exact proof term for the current goal is PNo_extend1_eq alpha p.
We will prove p1 gamma.
An exact proof term for the current goal is H11.
Apply PNoLt_irref gamma q to the current goal.
An exact proof term for the current goal is PNoLt_tra gamma (ordsucc alpha) gamma Lc Lsa Lc q p1 q L6d L6c.
Apply PNoLt_trichotomy_or alpha beta p q Ha Hb to the current goal.
Assume H10.
Apply H10 to the current goal.
Assume H10.
An exact proof term for the current goal is H10.
Assume H10.
Apply H10 to the current goal.
Assume H10a: alpha = beta.
Assume H10b: PNoEq_ alpha p q.
Apply L5 to the current goal.
We will prove beta ordsucc alpha.
rewrite the current goal using H10a (from right to left).
Apply ordsuccI2 to the current goal.
Assume H10: PNoLt beta q alpha p.
Apply PNoLtE beta alpha q p H10 to the current goal.
Assume H11: PNoLt_ (beta alpha) q p.
Apply H11 to the current goal.
Let gamma be given.
Assume H12.
Apply H12 to the current goal.
Assume Hc: gamma beta alpha.
Assume H12.
Apply H12 to the current goal.
Assume H12.
Apply H12 to the current goal.
Assume H12: PNoEq_ gamma q p.
Assume H13: ¬ q gamma.
Assume H14: p gamma.
We will prove False.
Apply binintersectE beta alpha gamma Hc to the current goal.
Assume Hc2: gamma beta.
Assume Hc1: gamma alpha.
Apply H13 to the current goal.
Apply L6 gamma (ordsuccI1 alpha gamma Hc1) Hc2 H12 to the current goal.
We will prove p1 gamma.
We will prove p gamma gamma = alpha.
Apply orIL to the current goal.
An exact proof term for the current goal is H14.
Assume H11: beta alpha.
Assume _ _.
Apply L5 to the current goal.
Apply ordsuccI1 to the current goal.
An exact proof term for the current goal is H11.
Assume H11: alpha beta.
Assume H12: PNoEq_ alpha q p.
Assume H13: ¬ q alpha.
We will prove False.
Apply H13 to the current goal.
An exact proof term for the current goal is L6 alpha (ordsuccI2 alpha) H11 H12 Lp1a.
Theorem. (PNo_lenbdd_strict_imv_ex) The following is provable:
∀L R : set(setprop)prop, PNoLt_pwise L R∀alpha, ordinal alphaPNo_lenbdd alpha LPNo_lenbdd alpha Rbetaordsucc alpha, p : setprop, PNo_strict_imv L R beta p
Proof:
Let L and R be given.
Assume HLR.
Let alpha be given.
Assume Ha.
Assume HaL HaR.
Apply PNo_rel_imv_bdd_ex L R HLR alpha Ha HaL HaR to the current goal.
Let beta be given.
Assume H1.
Apply H1 to the current goal.
Assume Hb: beta ordsucc alpha.
Assume H1.
Apply H1 to the current goal.
Let p be given.
Assume Hp: PNo_rel_strict_split_imv L R beta p.
We prove the intermediate claim Lsa: ordinal (ordsucc alpha).
An exact proof term for the current goal is ordinal_ordsucc alpha Ha.
We prove the intermediate claim Lb: ordinal beta.
An exact proof term for the current goal is ordinal_Hered (ordsucc alpha) Lsa beta Hb.
We use beta to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is Hb.
We use p to witness the existential quantifier.
We will prove PNo_strict_imv L R beta p.
An exact proof term for the current goal is PNo_rel_split_imv_imp_strict_imv L R beta Lb p Hp.
Definition. We define PNo_least_rep to be λL R beta p ⇒ ordinal beta PNo_strict_imv L R beta p gammabeta, ∀q : setprop, ¬ PNo_strict_imv L R gamma q of type (set(setprop)prop)(set(setprop)prop)set(setprop)prop.
Definition. We define PNo_least_rep2 to be λL R beta p ⇒ PNo_least_rep L R beta p ∀x, x beta¬ p x of type (set(setprop)prop)(set(setprop)prop)set(setprop)prop.
Theorem. (PNo_strict_imv_pred_eq) The following is provable:
∀L R : set(setprop)prop, PNoLt_pwise L R∀alpha, ordinal alpha∀p q : setprop, PNo_least_rep L R alpha pPNo_strict_imv L R alpha qbetaalpha, p beta q beta
Proof:
Let L and R be given.
Assume HLR.
Let alpha be given.
Assume Ha.
Let p and q be given.
Assume Hp.
Assume Hq.
Apply Ha to the current goal.
Assume Ha1 _.
Apply Hp to the current goal.
Assume Hp1.
Apply Hp1 to the current goal.
Assume _.
Assume Hp1: PNo_strict_imv L R alpha p.
Assume Hp2: betaalpha, ∀r : setprop, ¬ PNo_strict_imv L R beta r.
Apply Hp1 to the current goal.
Assume Hp1a: PNo_strict_upperbd L alpha p.
Assume Hp1b: PNo_strict_lowerbd R alpha p.
Apply Hq to the current goal.
Assume Hq1: PNo_strict_upperbd L alpha q.
Assume Hq2: PNo_strict_lowerbd R alpha q.
We prove the intermediate claim L1: ∀beta, ordinal betabeta alpha(p beta q beta).
Apply ordinal_ind to the current goal.
Let beta be given.
Assume Hb1: ordinal beta.
Assume IH: gammabeta, gamma alpha(p gamma q gamma).
Assume Hb2: beta alpha.
We prove the intermediate claim Lbpq: PNoEq_ beta p q.
Let gamma be given.
Assume Hc: gamma beta.
An exact proof term for the current goal is IH gamma Hc (Ha1 beta Hb2 gamma Hc).
We will prove p beta q beta.
Apply iffI to the current goal.
Assume H1: p beta.
We will prove q beta.
Apply dneg to the current goal.
Assume H2: ¬ q beta.
We prove the intermediate claim Lqp: PNoLt beta q alpha p.
Apply PNoLtI2 to the current goal.
We will prove beta alpha.
An exact proof term for the current goal is Hb2.
We will prove PNoEq_ beta q p.
Apply PNoEq_sym_ to the current goal.
An exact proof term for the current goal is Lbpq.
We will prove p beta.
An exact proof term for the current goal is H1.
We prove the intermediate claim Lqq: PNoLt alpha q beta q.
Apply PNoLtI3 to the current goal.
We will prove beta alpha.
An exact proof term for the current goal is Hb2.
We will prove PNoEq_ beta q q.
Apply PNoEq_ref_ to the current goal.
We will prove ¬ q beta.
An exact proof term for the current goal is H2.
Apply Hp2 beta Hb2 q to the current goal.
We will prove PNo_strict_imv L R beta q.
Apply andI to the current goal.
Let gamma be given.
Assume Hc: ordinal gamma.
Let r be given.
Assume Hr: L gamma r.
We will prove PNoLt gamma r beta q.
Apply PNoLt_tra gamma alpha beta Hc Ha Hb1 r q q to the current goal.
We will prove PNoLt gamma r alpha q.
An exact proof term for the current goal is Hq1 gamma Hc r Hr.
We will prove PNoLt alpha q beta q.
An exact proof term for the current goal is Lqq.
Let gamma be given.
Assume Hc: ordinal gamma.
Let r be given.
Assume Hr: R gamma r.
We will prove PNoLt beta q gamma r.
Apply PNoLt_tra beta alpha gamma Hb1 Ha Hc q p r to the current goal.
We will prove PNoLt beta q alpha p.
An exact proof term for the current goal is Lqp.
We will prove PNoLt alpha p gamma r.
An exact proof term for the current goal is Hp1b gamma Hc r Hr.
Assume H1: q beta.
We will prove p beta.
Apply dneg to the current goal.
Assume H2: ¬ p beta.
We prove the intermediate claim Lpq: PNoLt alpha p beta q.
Apply PNoLtI3 to the current goal.
We will prove beta alpha.
An exact proof term for the current goal is Hb2.
We will prove PNoEq_ beta p q.
An exact proof term for the current goal is Lbpq.
We will prove ¬ p beta.
An exact proof term for the current goal is H2.
We prove the intermediate claim Lqq: PNoLt beta q alpha q.
Apply PNoLtI2 to the current goal.
We will prove beta alpha.
An exact proof term for the current goal is Hb2.
We will prove PNoEq_ beta q q.
Apply PNoEq_ref_ to the current goal.
We will prove q beta.
An exact proof term for the current goal is H1.
Apply Hp2 beta Hb2 q to the current goal.
We will prove PNo_strict_imv L R beta q.
Apply andI to the current goal.
Let gamma be given.
Assume Hc: ordinal gamma.
Let r be given.
Assume Hr: L gamma r.
We will prove PNoLt gamma r beta q.
Apply PNoLt_tra gamma alpha beta Hc Ha Hb1 r p q to the current goal.
We will prove PNoLt gamma r alpha p.
An exact proof term for the current goal is Hp1a gamma Hc r Hr.
We will prove PNoLt alpha p beta q.
An exact proof term for the current goal is Lpq.
Let gamma be given.
Assume Hc: ordinal gamma.
Let r be given.
Assume Hr: R gamma r.
We will prove PNoLt beta q gamma r.
Apply PNoLt_tra beta alpha gamma Hb1 Ha Hc q q r to the current goal.
We will prove PNoLt beta q alpha q.
An exact proof term for the current goal is Lqq.
We will prove PNoLt alpha q gamma r.
An exact proof term for the current goal is Hq2 gamma Hc r Hr.
Let beta be given.
Assume Hb: beta alpha.
An exact proof term for the current goal is L1 beta (ordinal_Hered alpha Ha beta Hb) Hb.
Theorem. (PNo_lenbdd_least_rep2_exuniq2) The following is provable:
∀L R : set(setprop)prop, PNoLt_pwise L R∀alpha, ordinal alphaPNo_lenbdd alpha LPNo_lenbdd alpha Rbeta, (p : setprop, PNo_least_rep2 L R beta p) (∀p q : setprop, PNo_least_rep2 L R beta pPNo_least_rep2 L R beta qp = q)
Proof:
Let L and R be given.
Assume HLR.
Let alpha be given.
Assume Ha HaL HaR.
We prove the intermediate claim L1: beta, ordinal beta (p : setprop, PNo_strict_imv L R beta p) gammabeta, ¬ (p : setprop, PNo_strict_imv L R gamma p).
Apply least_ordinal_ex (λbeta ⇒ p : setprop, PNo_strict_imv L R beta p) to the current goal.
We will prove beta, ordinal beta p : setprop, PNo_strict_imv L R beta p.
Apply PNo_lenbdd_strict_imv_ex L R HLR alpha Ha HaL HaR to the current goal.
Let beta be given.
Assume H1.
Apply H1 to the current goal.
Assume Hb: beta ordsucc alpha.
Assume H1.
Apply H1 to the current goal.
Let p be given.
Assume Hp: PNo_strict_imv L R beta p.
We prove the intermediate claim Lsa: ordinal (ordsucc alpha).
An exact proof term for the current goal is ordinal_ordsucc alpha Ha.
We use beta to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is ordinal_Hered (ordsucc alpha) Lsa beta Hb.
We use p to witness the existential quantifier.
An exact proof term for the current goal is Hp.
Apply L1 to the current goal.
Let beta be given.
Assume H1.
Apply H1 to the current goal.
Assume H1.
Apply H1 to the current goal.
Assume H1: ordinal beta.
Assume H2: p : setprop, PNo_strict_imv L R beta p.
Assume H3: gammabeta, ¬ p : setprop, PNo_strict_imv L R gamma p.
Apply H2 to the current goal.
Let p be given.
Assume Hp: PNo_strict_imv L R beta p.
We use beta to witness the existential quantifier.
Apply andI to the current goal.
We use (λx ⇒ x beta p x) to witness the existential quantifier.
We will prove PNo_least_rep L R beta (λx ⇒ x beta p x) ∀x, x beta¬ (x beta p x).
Apply andI to the current goal.
We will prove ordinal beta PNo_strict_imv L R beta (λx ⇒ x beta p x) gammabeta, ∀q : setprop, ¬ PNo_strict_imv L R gamma q.
Apply and3I to the current goal.
An exact proof term for the current goal is H1.
Apply PNoEq_strict_imv L R beta H1 p (λx ⇒ x beta p x) to the current goal.
We will prove PNoEq_ beta p (λx ⇒ x beta p x).
Let x be given.
Assume Hx: x beta.
We will prove p x x beta p x.
Apply iffI to the current goal.
Assume H4.
Apply andI to the current goal.
An exact proof term for the current goal is Hx.
An exact proof term for the current goal is H4.
Assume H4.
Apply H4 to the current goal.
Assume _ H5.
An exact proof term for the current goal is H5.
An exact proof term for the current goal is Hp.
Let gamma be given.
Assume Hc: gamma beta.
Let q be given.
Assume H4: PNo_strict_imv L R gamma q.
We will prove False.
Apply H3 gamma Hc to the current goal.
We will prove p : setprop, PNo_strict_imv L R gamma p.
We use q to witness the existential quantifier.
We will prove PNo_strict_imv L R gamma q.
An exact proof term for the current goal is H4.
We will prove ∀x, x beta¬ (x beta p x).
Let x be given.
Assume Hx.
Assume H4.
Apply H4 to the current goal.
Assume H5 _.
An exact proof term for the current goal is Hx H5.
Let q and r be given.
Assume Hq: PNo_least_rep2 L R beta q.
Assume Hr: PNo_least_rep2 L R beta r.
Apply Hq to the current goal.
Assume Hq1 Hq2.
Apply Hr to the current goal.
Assume Hr1 Hr2.
We will prove q = r.
Apply pred_ext to the current goal.
Let x be given.
Apply xm (x beta) to the current goal.
Assume H4: x beta.
We will prove q x r x.
Apply Hr1 to the current goal.
Assume Hr1a.
Apply Hr1a to the current goal.
Assume _.
Assume Hr1a: PNo_strict_imv L R beta r.
Assume _.
An exact proof term for the current goal is PNo_strict_imv_pred_eq L R HLR beta H1 q r Hq1 Hr1a x H4.
Assume H4: x beta.
Apply iffI to the current goal.
Assume H5: q x.
We will prove False.
Apply Hq2 x H4 to the current goal.
An exact proof term for the current goal is H5.
Assume H5: r x.
We will prove False.
Apply Hr2 x H4 to the current goal.
An exact proof term for the current goal is H5.
Definition. We define PNo_bd to be λL R ⇒ DescrR_i_io_1 (PNo_least_rep2 L R) of type (set(setprop)prop)(set(setprop)prop)set.
Definition. We define PNo_pred to be λL R ⇒ DescrR_i_io_2 (PNo_least_rep2 L R) of type (set(setprop)prop)(set(setprop)prop)setprop.
Theorem. (PNo_bd_pred_lem) The following is provable:
∀L R : set(setprop)prop, PNoLt_pwise L R∀alpha, ordinal alphaPNo_lenbdd alpha LPNo_lenbdd alpha RPNo_least_rep2 L R (PNo_bd L R) (PNo_pred L R)
Proof:
Let L and R be given.
Assume HLR.
Let alpha be given.
Assume Ha HaL HaR.
An exact proof term for the current goal is DescrR_i_io_12 (PNo_least_rep2 L R) (PNo_lenbdd_least_rep2_exuniq2 L R HLR alpha Ha HaL HaR).
Theorem. (PNo_bd_pred) The following is provable:
∀L R : set(setprop)prop, PNoLt_pwise L R∀alpha, ordinal alphaPNo_lenbdd alpha LPNo_lenbdd alpha RPNo_least_rep L R (PNo_bd L R) (PNo_pred L R)
Proof:
Let L and R be given.
Assume HLR.
Let alpha be given.
Assume Ha HaL HaR.
Apply PNo_bd_pred_lem L R HLR alpha Ha HaL HaR to the current goal.
Assume H _.
An exact proof term for the current goal is H.
Theorem. (PNo_bd_In) The following is provable:
∀L R : set(setprop)prop, PNoLt_pwise L R∀alpha, ordinal alphaPNo_lenbdd alpha LPNo_lenbdd alpha RPNo_bd L R ordsucc alpha
Proof:
Let L and R be given.
Assume HLR.
Let alpha be given.
Assume Ha HaL HaR.
Apply PNo_bd_pred L R HLR alpha Ha HaL HaR to the current goal.
Assume H1.
Apply H1 to the current goal.
Assume H1: ordinal (PNo_bd L R).
Assume H2: PNo_strict_imv L R (PNo_bd L R) (PNo_pred L R).
Assume H3: gammaPNo_bd L R, ∀q : setprop, ¬ PNo_strict_imv L R gamma q.
Apply PNo_lenbdd_strict_imv_ex L R HLR alpha Ha HaL HaR to the current goal.
Let beta be given.
Assume H4.
Apply H4 to the current goal.
Assume Hb: beta ordsucc alpha.
Assume H4.
Apply H4 to the current goal.
Let p be given.
Assume Hp: PNo_strict_imv L R beta p.
We prove the intermediate claim Lsa: ordinal (ordsucc alpha).
An exact proof term for the current goal is ordinal_ordsucc alpha Ha.
Apply ordinal_In_Or_Subq (PNo_bd L R) (ordsucc alpha) H1 Lsa to the current goal.
Assume H4: PNo_bd L R ordsucc alpha.
An exact proof term for the current goal is H4.
Assume H4: ordsucc alpha PNo_bd L R.
We will prove False.
We prove the intermediate claim Lb: beta PNo_bd L R.
Apply H4 to the current goal.
An exact proof term for the current goal is Hb.
Apply H3 beta Lb p to the current goal.
An exact proof term for the current goal is Hp.