comparison OD.agda @ 188:1f2c8b094908

axiom of choice → p ∨ ¬ p
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Thu, 25 Jul 2019 13:11:21 +0900
parents ac872f6b8692
children 540b845ea2de
comparison
equal deleted inserted replaced
187:ac872f6b8692 188:1f2c8b094908
188 188
189 is-o∅ : {n : Level} → ( x : Ordinal {suc n} ) → Dec ( x ≡ o∅ {suc n} ) 189 is-o∅ : {n : Level} → ( x : Ordinal {suc n} ) → Dec ( x ≡ o∅ {suc n} )
190 is-o∅ {n} record { lv = Zero ; ord = (Φ .0) } = yes refl 190 is-o∅ {n} record { lv = Zero ; ord = (Φ .0) } = yes refl
191 is-o∅ {n} record { lv = Zero ; ord = (OSuc .0 ord₁) } = no ( λ () ) 191 is-o∅ {n} record { lv = Zero ; ord = (OSuc .0 ord₁) } = no ( λ () )
192 is-o∅ {n} record { lv = (Suc lv₁) ; ord = ord } = no (λ()) 192 is-o∅ {n} record { lv = (Suc lv₁) ; ord = ord } = no (λ())
193
194 ppp : { n : Level } → { p : Set (suc n) } { a : OD {suc n} } → record { def = λ x → p } ∋ a → p
195 ppp {n} {p} {a} d = d
196
197 p∨¬p : { n : Level } → { p : Set (suc n) } → p ∨ ( ¬ p )
198 p∨¬p {n} {p} with record { def = λ x → p } | record { def = λ x → ¬ p }
199 ... | ps | ¬ps with is-o∅ ( od→ord ps)
200 p∨¬p {n} {p} | ps | ¬ps | yes eq = case2 (¬p eq) where
201 ¬p : {ps1 : Ordinal {suc n}} → ( ps1 ≡ o∅ {suc n} ) → p → ⊥
202 ¬p refl = {!!}
203 p∨¬p {n} {p} | ps | ¬ps | no ¬p = case1 (ppp {n} {p} {minimul ps (λ eq → ¬p (eqo∅ eq))} (
204 def-subst {suc n} {ps} {_} {record { def = λ x → p }} {od→ord (minimul ps (λ eq → ¬p (eqo∅ eq)))} lemma {!!} refl )) where
205 eqo∅ : ps == od∅ {suc n} → od→ord ps ≡ o∅ {suc n}
206 eqo∅ eq = subst (λ k → od→ord ps ≡ k) ord-od∅ ( cong (λ k → od→ord k ) (==→o≡ eq))
207 lemma : ps ∋ minimul ps (λ eq → ¬p (eqo∅ eq))
208 lemma = x∋minimul ps (λ eq → ¬p (eqo∅ eq))
193 209
194 OrdP : {n : Level} → ( x : Ordinal {suc n} ) ( y : OD {suc n} ) → Dec ( Ord x ∋ y ) 210 OrdP : {n : Level} → ( x : Ordinal {suc n} ) ( y : OD {suc n} ) → Dec ( Ord x ∋ y )
195 OrdP {n} x y with trio< x (od→ord y) 211 OrdP {n} x y with trio< x (od→ord y)
196 OrdP {n} x y | tri< a ¬b ¬c = no ¬c 212 OrdP {n} x y | tri< a ¬b ¬c = no ¬c
197 OrdP {n} x y | tri≈ ¬a refl ¬c = no ( o<¬≡ refl ) 213 OrdP {n} x y | tri≈ ¬a refl ¬c = no ( o<¬≡ refl )
455 -- ∀ X [ ∅ ∉ X → (∃ f : X → ⋃ X ) → ∀ A ∈ X ( f ( A ) ∈ A ) ] 471 -- ∀ X [ ∅ ∉ X → (∃ f : X → ⋃ X ) → ∀ A ∈ X ( f ( A ) ∈ A ) ]
456 choice-func : (X : OD {suc n} ) → {x : OD } → ¬ ( x == od∅ ) → ( X ∋ x ) → OD 472 choice-func : (X : OD {suc n} ) → {x : OD } → ¬ ( x == od∅ ) → ( X ∋ x ) → OD
457 choice-func X {x} not X∋x = minimul x not 473 choice-func X {x} not X∋x = minimul x not
458 choice : (X : OD {suc n} ) → {A : OD } → ( X∋A : X ∋ A ) → (not : ¬ ( A == od∅ )) → A ∋ choice-func X not X∋A 474 choice : (X : OD {suc n} ) → {A : OD } → ( X∋A : X ∋ A ) → (not : ¬ ( A == od∅ )) → A ∋ choice-func X not X∋A
459 choice X {A} X∋A not = x∋minimul A not 475 choice X {A} X∋A not = x∋minimul A not
476
477 -- choice-func' : (X : OD {suc n} ) → (∋-p : (A x : OD {suc n} ) → Dec ( A ∋ x ) ) → {x : OD } → ¬ ( x == od∅ ) → ( X ∋ x ) → OD {suc n}
460 478
461 -- another form of regularity 479 -- another form of regularity
462 -- 480 --
463 ε-induction : {n m : Level} { ψ : OD {suc n} → Set m} 481 ε-induction : {n m : Level} { ψ : OD {suc n} → Set m}
464 → ( {x : OD {suc n} } → ({ y : OD {suc n} } → x ∋ y → ψ y ) → ψ x ) 482 → ( {x : OD {suc n} } → ({ y : OD {suc n} } → x ∋ y → ψ y ) → ψ x )