# HG changeset patch # User Shinji KONO # Date 1559099203 -32400 # Node ID 6a1f67a4cc6e9fb5bca7a8cbdc5c0bc34620ec93 # Parent d13d1351a1face0834e5e81a71215ae58a7807df dead end diff -r d13d1351a1fa -r 6a1f67a4cc6e ordinal-definable.agda --- a/ordinal-definable.agda Wed May 29 05:46:05 2019 +0900 +++ b/ordinal-definable.agda Wed May 29 12:06:43 2019 +0900 @@ -70,6 +70,9 @@ sup-c< : {n : Level } → ( ψ : OD {n} → OD {n}) → ∀ {x : OD {n}} → ψ x c< sup-od ψ ∅-base-def : {n : Level} → def ( ord→od (o∅ {n}) ) ≡ def (od∅ {n}) +congf : {n : Level} {x y : OD {n}} → { f g : OD {n} → OD {n} } → x ≡ y → f ≡ g → f x ≡ g y +congf refl refl = refl + o∅→od∅ : {n : Level} → ord→od (o∅ {n}) ≡ od∅ {n} o∅→od∅ {n} = cong ( λ k → record { def = k }) ( ∅-base-def ) @@ -233,6 +236,10 @@ ∅0 {n} {x} lt record { eq→ = eq→ ; eq← = eq← } with ominimal x lt ... | min with eq→ (o<→c< (Minimumo.min ¬a ¬b c with o<> y (mino (minord (ord→od x) not)) (lemma {!!}) c where - lemma : def (ord→od (mino (minord (ord→od x) not))) y → y o< mino (minord (ord→od x) not) - lemma d with c<→o< {suc n} {ord→od y} {ord→od (mino (minord (ord→od x) not))} - (def-subst {suc n} {ord→od (mino (minord (ord→od x) not))} {y} {!!} refl (sym diso)) - lemma d | clt = o<-subst clt ord-iso ord-iso - ... | () - reg1 : Select (minimul (ord→od x) not) (λ x₁ → (minimul (ord→od x) not ∋ x₁) ∧ ((ord→od x) ∋ x₁)) == od∅ - reg1 = record { eq→ = reg0 ; eq← = λ () } where - ∅-iso : {x : OD} → ¬ (x == od∅) → ¬ ((ord→od (od→ord x)) == od∅) - ∅-iso {x} neq = subst (λ k → ¬ k) (=-iso {n} ) neq regularity : (x : OD) (not : ¬ (x == od∅)) → (x ∋ minimul x not) ∧ (Select (minimul x not) (λ x₁ → (minimul x not ∋ x₁) ∧ (x ∋ x₁)) == od∅) - regularity x not = - subst₂ ( λ x min → (x ∋ min) ∧ (Select min (λ x₁ → (min ∋ x₁) ∧ (x ∋ x₁)) == od∅) ) - oiso lemma ( regularity-ord (od→ord x) (subst (λ k → ¬ (k == od∅) ) (sym oiso) not )) where - lemma : minimul (ord→od (od→ord x)) (subst (λ k → ¬ (k == od∅)) (sym oiso) not) ≡ minimul x not - lemma = cong₂ (λ x not → minimul x not ) oiso {!!} - - - - - - + regularity x not = regularity-ord (od→ord x) x (sym oiso ) not where + regularity-ord : (ox : Ordinal ) → (x : OD) → ( x ≡ ord→od ox ) → (not : ¬ (x == od∅)) + → (x ∋ minimul x not) ∧ (Select (minimul x not) (λ x₁ → (minimul x not ∋ x₁) ∧ (x ∋ x₁)) == od∅) + regularity-ord ox x refl not = record { proj1 = minimul ¬a ¬b c with o<> y (mino Mino) lemma c where + lemma : y o< mino Mino + lemma = {!!} + reg0 {y} t | tri> ¬a ¬b c | ()