comparison HOD.agda @ 139:53077af367e9

dead end?
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sun, 07 Jul 2019 22:23:02 +0900
parents 567084f2278f
children 312e27aa3cb5
comparison
equal deleted inserted replaced
138:567084f2278f 139:53077af367e9
300 lemma : {x : Ordinal} → ((y : Ordinal) → X ∋ ord→od y → ψ (ord→od y)) ∧ (X ∋ ord→od x) → 300 lemma : {x : Ordinal} → ((y : Ordinal) → X ∋ ord→od y → ψ (ord→od y)) ∧ (X ∋ ord→od x) →
301 {y : Ordinal} → y o< x → ((y₁ : Ordinal) → X ∋ ord→od y₁ → ψ (ord→od y₁)) ∧ (X ∋ ord→od y) 301 {y : Ordinal} → y o< x → ((y₁ : Ordinal) → X ∋ ord→od y₁ → ψ (ord→od y₁)) ∧ (X ∋ ord→od y)
302 lemma {x} select {y} y<x = record { proj1 = proj1 select ; proj2 = y<X } where 302 lemma {x} select {y} y<x = record { proj1 = proj1 select ; proj2 = y<X } where
303 y<X : X ∋ ord→od y 303 y<X : X ∋ ord→od y
304 y<X = otrans X (proj2 select) (o<-subst y<x (sym diso) (sym diso) ) 304 y<X = otrans X (proj2 select) (o<-subst y<x (sym diso) (sym diso) )
305 in-codomain : {n : Level} → (X : HOD {suc n} ) → ( ψ : HOD {suc n} → HOD {suc n} ) → HOD {suc n}
306 in-codomain {n} X ψ = record { def = λ x → ¬ ( (y : Ordinal {suc n}) → ¬ ( def X y ∧ ( x ≡ od→ord (ψ (Ord y )))))
307 ; otrans = lemma } where
308 lemma : {x : Ordinal} → ¬ ((y : Ordinal) → ¬ def X y ∧ (x ≡ od→ord (ψ (Ord y)))) →
309 {y : Ordinal} → y o< x → ¬ ((y₁ : Ordinal) → ¬ def X y₁ ∧ (y ≡ od→ord (ψ (Ord y₁))))
310 lemma {x} notx {y} y<x noty = notx ( λ z prod → noty z ( record { proj1 = proj1 prod ; proj2 = {!!} } ))
311 Replace' : HOD {suc n} → (HOD {suc n} → HOD {suc n} ) → HOD {suc n}
312 Replace' X ψ = Select ( Ord (sup-o ( λ x → od→ord (ψ (ord→od x ))))) ( λ x → ¬ (∀ (y : Ordinal ) → ¬ ( def X y ∧ ( x == ψ (Ord y) ))))
313 Replace : HOD {suc n} → (HOD {suc n} → HOD {suc n} ) → HOD {suc n} 305 Replace : HOD {suc n} → (HOD {suc n} → HOD {suc n} ) → HOD {suc n}
314 Replace X ψ = record { def = λ x → (x o< sup-o ( λ x → od→ord (ψ (ord→od x )))) ∧ def (in-codomain X ψ) x ; 306 Replace X ψ = Select ( Ord (sup-o ( λ x → od→ord (ψ (ord→od x ))))) ( λ x → ¬ (∀ (y : Ordinal ) → ¬ ( def X y ∧ ( x == ψ (Ord y) ))))
315 otrans = lemma } where
316 lemma : {x : Ordinal} → (x o< sup-o (λ x₁ → od→ord (ψ (ord→od x₁)))) ∧ def (in-codomain X ψ) x →
317 {y : Ordinal} → y o< x → (y o< sup-o (λ x₁ → od→ord (ψ (ord→od x₁)))) ∧ def (in-codomain X ψ) y
318 lemma {x} repl {y} y<x = record { proj1 = ordtrans y<x (proj1 repl)
319 ; proj2 = otrans (in-codomain X ψ) (proj2 repl) y<x }
320 _,_ : HOD {suc n} → HOD {suc n} → HOD {suc n} 307 _,_ : HOD {suc n} → HOD {suc n} → HOD {suc n}
321 x , y = Ord (omax (od→ord x) (od→ord y)) 308 x , y = Ord (omax (od→ord x) (od→ord y))
322 Union : HOD {suc n} → HOD {suc n} 309 Union : HOD {suc n} → HOD {suc n}
323 Union U = cseq U 310 Union U = cseq U
324 -- power : ∀ X ∃ A ∀ t ( t ∈ A ↔ ( ∀ {x} → t ∋ x → X ∋ x ) 311 -- power : ∀ X ∃ A ∀ t ( t ∈ A ↔ ( ∀ {x} → t ∋ x → X ∋ x )
454 ; proj2 = λ s → record { proj1 = λ y1 dy1 → 441 ; proj2 = λ s → record { proj1 = λ y1 dy1 →
455 subst (λ k → ψ k ) oiso ((proj1 s) (od→ord y1) (def-subst {suc n} {_} {_} {X} {_} dy1 refl (sym diso ))) 442 subst (λ k → ψ k ) oiso ((proj1 s) (od→ord y1) (def-subst {suc n} {_} {_} {X} {_} dy1 refl (sym diso )))
456 ; proj2 = def-subst {suc n} {_} {_} {X} {od→ord y} (proj2 s ) refl diso } } where 443 ; proj2 = def-subst {suc n} {_} {_} {X} {od→ord y} (proj2 s ) refl diso } } where
457 -- ψ< : {ψ : HOD {suc n} → HOD {suc n}} {x y y' : HOD {suc n}} → ψ y ∋ x → ψ y' == x 444 -- ψ< : {ψ : HOD {suc n} → HOD {suc n}} {x y y' : HOD {suc n}} → ψ y ∋ x → ψ y' == x
458 -- ψ< = {!!} 445 -- ψ< = {!!}
459 replacement←' : {ψ : HOD → HOD} (X x : HOD) → X ∋ x → Replace' X ψ ∋ ψ x 446 replacement← : {ψ : HOD → HOD} (X x : HOD) → X ∋ x → Replace X ψ ∋ ψ x
460 replacement←' {ψ} X x lt = record { proj1 = {!!} 447 replacement← {ψ} X x lt = record { proj1 = lemma
461 ; proj2 = def-subst {suc n} {_} {_} {Ord (sup-o (λ x₁ → od→ord (ψ (ord→od x₁))))} 448 ; proj2 = sup-o∋ψx
462 { od→ord (ord→od (od→ord (ψ x)))} (sup-c< ψ {x}) refl (sym diso)
463 } 449 }
464 where 450 where
465 -- (y : Ordinal) → Ord (sup-o (λ x₁ → od→ord (ψ (ord→od x₁)))) ∋ ord→od y → 451 sup-o∋ψx : Ord (sup-o (λ x₁ → od→ord (ψ (ord→od x₁)))) ∋ ord→od (od→ord (ψ x))
466 -- ¬ ((y₁ : Ordinal) → ¬ def X y₁ ∧ (ord→od y == ψ (Ord y₁))) 452 sup-o∋ψx = def-subst {suc n} {_} {_} {Ord (sup-o (λ x₁ → od→ord (ψ (ord→od x₁))))} { od→ord (ord→od (od→ord (ψ x)))}
467 lemma : (y : Ordinal) → ((y₁ : Ordinal) → ¬ def X y₁ ∧ (ord→od y == ψ (Ord y₁))) → {!!} 453 (sup-c< ψ {x}) refl (sym diso)
468 lemma y not = {!!} 454 lemma : (y : Ordinal) → Ord (sup-o (λ x₁ → od→ord (ψ (ord→od x₁)))) ∋ ord→od y →
469 replacement→' : {ψ : HOD → HOD} (X x : HOD) → (lt : Replace' X ψ ∋ x) → ¬ ( (y : HOD) → ¬ (x == ψ y)) 455 ¬ ((y₁ : Ordinal) → ¬ def X y₁ ∧ (ord→od y == ψ (Ord y₁)))
470 replacement→' {ψ} X x lt = contra-position lemma (proj1 lt (od→ord x) (proj2 lt)) where 456 lemma y lt1 not = not (minα (od→ord x) (sup-x ( λ w → od→ord (ψ (ord→od w ))))) (record {
457 proj1 = ?
458 ; proj2 = subst₂ (λ k j → k == j ) refl oiso (o≡→== {!!}) } ) where
459 lemma1 : y o< osuc ( od→ord (ψ (ord→od ( sup-x ( λ w → od→ord (ψ (ord→od w ))) ))))
460 lemma1 = o<-subst (sup-lb lt1) diso refl
461 lemma2 : ord→od y ≡ ψ (ord→od ( sup-x ( λ w → od→ord (ψ (ord→od w )))))
462 lemma2 with osuc-≡< lemma1
463 lemma2 | case1 refl = subst (λ k → ord→od y ≡ k ) oiso refl
464 lemma2 | case2 t = {!!}
465 replacement→ : {ψ : HOD → HOD} (X x : HOD) → (lt : Replace X ψ ∋ x) → ¬ ( (y : HOD) → ¬ (x == ψ y))
466 replacement→ {ψ} X x lt = contra-position lemma (proj1 lt (od→ord x) (proj2 lt)) where
471 lemma : ( (y : HOD) → ¬ (x == ψ y)) → ( (y : Ordinal) → ¬ def X y ∧ (ord→od (od→ord x) == ψ (Ord y)) ) 467 lemma : ( (y : HOD) → ¬ (x == ψ y)) → ( (y : Ordinal) → ¬ def X y ∧ (ord→od (od→ord x) == ψ (Ord y)) )
472 lemma not y not2 = not (ord→od y) (subst₂ ( λ k j → k == j ) oiso (cong (λ k → ψ k ) Ord-ord ) (proj2 not2 )) 468 lemma not y not2 = not (ord→od y) (subst₂ ( λ k j → k == j ) oiso (cong (λ k → ψ k ) Ord-ord ) (proj2 not2 ))
473 -- ord→od (od→ord x) == ψ (Ord y)
474 replacement← : {ψ : HOD → HOD} (X x : HOD) → X ∋ x → Replace X ψ ∋ ψ x
475 replacement← {ψ} X x lt = record { proj1 = sup-c< ψ {x} ; proj2 = lemma } where
476 lemma : def (in-codomain X ψ) (od→ord (ψ x))
477 lemma not = ⊥-elim ( not ( od→ord x ) (record { proj1 = lt ; proj2 = cong (λ k → od→ord (ψ k)) (sym (trans Ord-ord oiso ))} ))
478 replacement→ : {ψ : HOD → HOD} (X x : HOD) → (lt : Replace X ψ ∋ x) → ¬ ( (y : HOD) → ¬ (x == ψ y))
479 replacement→ {ψ} X x lt not = ⊥-elim ( not {!!} (ord→== {!!} ) )
480 469
481 ∅-iso : {x : HOD} → ¬ (x == od∅) → ¬ ((ord→od (od→ord x)) == od∅) 470 ∅-iso : {x : HOD} → ¬ (x == od∅) → ¬ ((ord→od (od→ord x)) == od∅)
482 ∅-iso {x} neq = subst (λ k → ¬ k) (=-iso {n} ) neq 471 ∅-iso {x} neq = subst (λ k → ¬ k) (=-iso {n} ) neq
483 regularity : (x : HOD) (not : ¬ (x == od∅)) → 472 regularity : (x : HOD) (not : ¬ (x == od∅)) →
484 (x ∋ minimul x not) ∧ (Select (minimul x not) (λ x₁ → (minimul x not ∋ x₁) ∧ (x ∋ x₁)) == od∅) 473 (x ∋ minimul x not) ∧ (Select (minimul x not) (λ x₁ → (minimul x not ∋ x₁) ∧ (x ∋ x₁)) == od∅)