Last active
June 11, 2018 06:50
-
-
Save takada-at/4b63d49028a6e9f8ab3d1b8ea74f04d7 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| -- Definitions | |
| module hm where | |
| data ⊥ : Set where | |
| data V : Set where | |
| i : V | |
| data _∧_ (φ ψ : Set) : Set where | |
| and-intro : φ → ψ → φ ∧ ψ | |
| data _∨_ (φ ψ : Set) : Set where | |
| or-introl : φ → φ ∨ ψ | |
| or-intror : ψ → φ ∨ ψ | |
| data _[_/_] {a} (φ : Set a) : V → V → Set a where | |
| subst : φ → (ζ : V) → (ξ : V) → φ [ ζ / ξ ] | |
| data all : V → Set → Set where | |
| gen : (ζ : V) → (φ : Set) → all ζ φ | |
| data ∃ : V → Set → Set where | |
| ex : (ζ : V) → (φ : Set) → ∃ ζ φ | |
| ¬_ : (φ : Set) → Set | |
| ¬ φ = φ → ⊥ | |
| infix 100 ¬_ | |
| _↔_ : (φ ψ : Set) → Set | |
| _↔_ φ ψ = (φ → ψ) ∧ (ψ → φ) | |
| infixl 5 _↔_ | |
| -- Axioms | |
| S : {φ ψ χ : Set} → (φ → ψ → χ) → (φ → ψ) → φ → χ | |
| S {φ} {ψ} {χ} = | |
| λ x y z → x z (y z) | |
| K : {φ ψ : Set} → φ → ψ → φ | |
| K {φ} {ψ} = | |
| λ x y → x | |
| DI₁ : {φ ψ : Set} → φ → φ ∨ ψ | |
| DI₁ = λ p → or-introl p | |
| DI₂ : {φ ψ : Set} → ψ → φ ∨ ψ | |
| DI₂ = λ q → or-intror q | |
| DE : {φ ψ χ : Set} → (φ → χ) → (ψ → χ) → (φ ∨ ψ → χ) | |
| DE x y (or-introl x₁) = x x₁ | |
| DE x y (or-intror x₁) = y x₁ | |
| CI : {φ ψ : Set} → φ → ψ → (φ ∧ ψ) | |
| CI {φ} {ψ} x y = and-intro x y | |
| CE₁ : {φ ψ : Set} → (φ ∧ ψ) → φ | |
| CE₁ (and-intro x y) = x | |
| CE₂ : {φ ψ : Set} → (φ ∧ ψ) → ψ | |
| CE₂ (and-intro x y) = y | |
| postulate | |
| UI : {φ ψ : Set}{ζ ξ : V} → all ζ (ψ → φ [ ζ / ξ ]) → (ψ → all ξ φ) | |
| UE : {φ : Set}{ξ τ : V} → all ξ φ → φ [ τ / ξ ] | |
| EI : {φ : Set}{ξ τ : V} → φ [ τ / ξ ] → ∃ ξ φ | |
| EE : {φ ψ : Set}{ξ ζ : V} → all ζ (φ [ ζ / ξ ] → ψ) → (∃ ξ φ → ψ) | |
| GEN : {φ : Set}{ζ ξ : V} → φ [ ζ / ξ ] → all ξ φ | |
| theorem5421₁ : {φ : Set}{ξ : V} → φ [ ξ / ξ ] → φ | |
| theorem5421₂ : {φ : Set}{ξ : V} → φ → φ [ ξ / ξ ] | |
| -- Theorems | |
| I : {φ : Set} → φ → φ | |
| I {φ} = S {φ} {φ → φ} {φ} (K {φ} {φ → φ}) (K {φ} {φ}) | |
| B : {φ ψ χ : Set} → (ψ → χ) → (φ → ψ) → (φ → χ) | |
| -- λ x y z → x (y z) | |
| B {φ} {ψ} {χ} = | |
| let | |
| p1 = K {(φ → ψ → χ) → (φ → ψ) → φ → χ} {ψ → χ} | |
| p2 = p1 (S {φ} {ψ} {χ}) | |
| p3 = K {ψ → χ} {φ} | |
| p4 = S {ψ → χ} {φ → ψ → χ} {(φ → ψ) → φ → χ} | |
| in | |
| p4 p2 p3 | |
| C : {φ ψ χ : Set} → (φ → ψ → χ) → (ψ → φ → χ) | |
| C {φ} {ψ} {χ} = | |
| let | |
| s1 = S {φ} {ψ} {χ} | |
| k1 = K {ψ} {φ} | |
| k2 = K {(φ → ψ) → φ → χ} {ψ} | |
| s2 = S {ψ} {φ → ψ} {φ → χ} | |
| b1 = B {φ → ψ → χ} {(φ → ψ) → φ → χ} {ψ → (φ → ψ) → φ → χ} k2 s1 | |
| k3 = K {ψ → φ → ψ} {φ → ψ → χ} k1 | |
| k4 = K {(ψ → (φ → ψ) → φ → χ) → (ψ → φ → ψ) → ψ → φ → χ} {φ → ψ → χ} s2 | |
| s3 = S {φ → ψ → χ} {ψ → (φ → ψ) → φ → χ} {(ψ → φ → ψ) → ψ → φ → χ} k4 b1 | |
| s4 = S {φ → ψ → χ} {ψ → φ → ψ} {ψ → φ → χ} s3 k3 | |
| in | |
| s4 | |
| W : {φ ψ : Set} → (φ → φ → ψ) → (φ → ψ) | |
| W {φ} {ψ} = | |
| -- λ x y → x y y | |
| let | |
| k1 = K {φ → φ} {φ → φ → ψ} (I {φ}) | |
| -- k : (φ → φ → ψ) → φ → φ | |
| s1 = S {φ} {φ} {ψ} | |
| -- s1 : (φ → φ → ψ) → (φ → φ) → φ → ψ | |
| s2 = S {φ → φ → ψ} {φ → φ} {φ → ψ} s1 k1 | |
| -- s2 : (φ → φ → ψ) → (φ → ψ) | |
| in | |
| s2 | |
| B′ : {φ ψ χ : Set} → (φ → ψ) → (ψ → χ) → (φ → χ) | |
| B′ {φ}{ψ}{χ} = | |
| let | |
| c1 = C {ψ → χ} {φ → ψ} {φ → χ} | |
| b1 = B {φ}{ψ}{χ} | |
| in | |
| c1 b1 | |
| C⋆ : {φ ψ : Set} → φ → (φ → ψ) → ψ | |
| C⋆ {φ} {ψ} = | |
| let | |
| k1 = K {φ} {φ → ψ} | |
| -- k1 : φ → (φ → ψ) → φ | |
| s1 = S {φ → ψ} {φ} {ψ} (I {φ → ψ}) | |
| -- s1 : ((φ → ψ) → φ) → (φ → ψ) → ψ | |
| k2 = K {((φ → ψ) → φ) → (φ → ψ) → ψ} {φ} s1 | |
| -- k2 : φ → ((φ → ψ) → φ) → (φ → ψ) → ψ | |
| s2 = S {φ} {(φ → ψ) → φ} {(φ → ψ) → ψ} k2 k1 | |
| in | |
| s2 | |
| -- exercise 7.38 | |
| -- φ ⊣⊢ ψ ⇔ ⊢ φ ↔ ψ | |
| -- (⇒) | |
| -- 仮定より | |
| -- φ ⊢ ψ かつ ψ ⊢ φ | |
| -- DT より | |
| -- ⊢ φ → ψ | |
| -- ⊢ ψ → φ | |
| -- 1. φ → ψ : DT | |
| -- 2. ψ → φ : DT | |
| -- 3. (φ → ψ) → (ψ → φ) → (φ → ψ) ∧ (ψ → φ) : CI {φ → ψ} {ψ → φ} | |
| -- 4. (φ → ψ) ∧ (ψ → φ) : MP 3, 1, 2 | |
| -- 5. φ ↔ ψ : 定義 | |
| module Ex7_38l where | |
| private | |
| postulate | |
| φ : Set | |
| ψ : Set | |
| postulate₁ : φ → ψ | |
| postulate₂ : ψ → φ | |
| ex7_38l : φ ↔ ψ | |
| ex7_38l = | |
| let | |
| p1 = postulate₁ | |
| -- φ → ψ | |
| p2 = postulate₂ | |
| -- ψ → φ | |
| p3 = CI {φ → ψ}{ψ → φ} | |
| -- (φ → ψ) → (ψ → φ) → (φ → ψ) ∧ (ψ → φ) | |
| p4 = p3 p1 p2 | |
| -- (φ → ψ) ∧ (ψ → φ) | |
| in | |
| p4 | |
| -- (<=) | |
| -- 1. φ ↔ ψ : 仮定 | |
| -- 2. (φ → ψ) ∧ (ψ → φ) : 定義 | |
| -- 3. (φ → ψ) ∧ (ψ → φ) → φ → ψ : CE₁ {φ → ψ} {ψ → φ} | |
| -- 4. φ → ψ : MP 2, 3 | |
| -- 5. (φ → ψ) ∧ (ψ → φ) → ψ → φ : CE₂ {φ → ψ} {ψ → φ} | |
| -- 6. ψ → φ : MP 2, 5 | |
| -- φ を仮定するとMP 4から ψ を導出できる。 | |
| -- よって φ ⊢ ψ | |
| -- ψ を仮定するとMP 6から φ を導出できる。 | |
| -- よって ψ ⊢ φ | |
| -- よって φ ⊣⊢ ψ | |
| module Ex7_38r where | |
| private | |
| postulate | |
| φ : Set | |
| ψ : Set | |
| postulate₁ : (φ ↔ ψ) | |
| postulate₂ : φ | |
| postulate₃ : ψ | |
| ex7_38r₁ : ψ | |
| ex7_38r₁ = | |
| let | |
| p1 = postulate₁ | |
| -- φ ↔ ψ | |
| p2 = postulate₂ | |
| -- φ | |
| p3 = CE₁ {φ → ψ}{ψ → φ} | |
| -- (φ → ψ) ∧ (ψ → φ) → φ → ψ | |
| p4 = p3 p1 | |
| -- φ → ψ | |
| in | |
| p4 p2 | |
| ex7_38r₂ : φ | |
| ex7_38r₂ = | |
| let | |
| p1 = postulate₁ | |
| -- φ ↔ ψ | |
| p2 = postulate₃ | |
| -- ψ | |
| p3 = CE₂ {φ → ψ}{ψ → φ} | |
| -- (φ → ψ) ∧ (ψ → φ) → ψ → φ | |
| p4 = p3 p1 | |
| -- ψ → φ | |
| in | |
| p4 p2 | |
| -- exercise 7.39 | |
| ex1 : {φ ψ χ : Set} → (φ ∧ (ψ ∧ χ)) ↔ ((φ ∧ ψ) ∧ χ) | |
| ex1 {φ}{ψ}{χ} = | |
| let | |
| -- (φ ∧ (ψ ∧ χ)) → ((φ ∧ ψ) ∧ χ) | |
| l1 = CE₁ {φ} {ψ ∧ χ} | |
| -- φ ∧ (ψ ∧ χ) → φ | |
| l2 = B {φ ∧ (ψ ∧ χ)}{ψ ∧ χ}{ψ} (CE₁ {ψ} {χ}) (CE₂ {φ} {ψ ∧ χ}) | |
| -- φ ∧ (ψ ∧ χ) → ψ | |
| l3 = B {φ ∧ (ψ ∧ χ)}{ψ ∧ χ}{χ} (CE₂ {ψ} {χ}) (CE₂ {φ} {ψ ∧ χ}) | |
| -- φ ∧ (ψ ∧ χ) → χ | |
| l4 = CI {φ}{ψ} | |
| -- φ → ψ → φ ∧ ψ | |
| l5 = B {φ ∧ (ψ ∧ χ)}{φ}{ψ → φ ∧ ψ} l4 l1 | |
| -- φ ∧ (ψ ∧ χ) → (ψ → φ ∧ ψ) | |
| l6 = S {φ ∧ (ψ ∧ χ)}{ψ}{φ ∧ ψ} l5 l2 | |
| -- φ ∧ (ψ ∧ χ) → φ ∧ ψ | |
| -- l5: φ ∧ (ψ ∧ χ) → ψ → φ ∧ ψ | |
| -- l2: φ ∧ (ψ ∧ χ) → ψ | |
| -- S: (φ → ψ → χ) → (φ → ψ) → φ → χ | |
| -- (φ ∧ (ψ ∧ χ) → ψ → φ ∧ ψ) → (φ ∧ (ψ ∧ χ) → ψ) | |
| -- → φ ∧ (ψ ∧ χ) → φ ∧ ψ | |
| l7 = CI {φ ∧ ψ} {χ} | |
| -- φ ∧ ψ → χ → (φ ∧ ψ) ∧ χ | |
| l8 = B {φ ∧ (ψ ∧ χ)}{φ ∧ ψ}{χ → (φ ∧ ψ) ∧ χ} l7 l6 | |
| -- φ ∧ (ψ ∧ χ) → χ → (φ ∧ ψ) ∧ χ | |
| l9 = S {φ ∧ (ψ ∧ χ)}{χ}{(φ ∧ ψ) ∧ χ} l8 l3 | |
| -- φ ∧ (ψ ∧ χ) → (φ ∧ ψ) ∧ χ | |
| -- (φ ∧ ψ) ∧ χ → φ ∧ (ψ ∧ χ) | |
| r1 = B {(φ ∧ ψ) ∧ χ}{φ ∧ ψ}{φ} (CE₁ {φ} {ψ}) (CE₁ {φ ∧ ψ} {χ}) | |
| -- (φ ∧ ψ) ∧ χ → φ | |
| r2 = B {(φ ∧ ψ) ∧ χ}{φ ∧ ψ}{ψ} (CE₂ {φ} {ψ}) (CE₁ {φ ∧ ψ} {χ}) | |
| -- (φ ∧ ψ) ∧ χ → ψ | |
| r3 = CE₂ {φ ∧ ψ} {χ} | |
| -- (φ ∧ ψ) ∧ χ → χ | |
| r4 = CI {ψ}{χ} | |
| -- ψ → χ → ψ ∧ χ | |
| r5 = B {(φ ∧ ψ) ∧ χ}{ψ}{χ → ψ ∧ χ} r4 r2 | |
| -- (φ ∧ ψ) ∧ χ → χ → ψ ∧ χ | |
| r6 = S {(φ ∧ ψ) ∧ χ}{χ}{ψ ∧ χ}r5 r3 | |
| -- (φ ∧ ψ) ∧ χ → ψ ∧ χ | |
| r7 = CI {φ}{ψ ∧ χ} | |
| -- φ → ψ ∧ χ → φ ∧ (ψ ∧ χ) | |
| r8 = B {(φ ∧ ψ) ∧ χ}{φ}{ψ ∧ χ → φ ∧ (ψ ∧ χ)}r7 r1 | |
| -- (φ ∧ ψ) ∧ χ → ψ ∧ χ → φ ∧ (ψ ∧ χ) | |
| r9 = S {(φ ∧ ψ) ∧ χ}{ψ ∧ χ}{φ ∧ (ψ ∧ χ)} r8 r6 | |
| -- (φ ∧ ψ) ∧ χ → φ ∧ (ψ ∧ χ) | |
| in | |
| CI {φ ∧ (ψ ∧ χ) → (φ ∧ ψ) ∧ χ} {((φ ∧ ψ) ∧ χ → φ ∧ (ψ ∧ χ))} l9 r9 | |
| -- S : (φ → ψ → χ) → (φ → ψ) → φ → χ | |
| -- B : (ψ → χ) → (φ → ψ) → (φ → χ) | |
| -- CI : φ → ψ → (φ ∧ ψ) | |
| ex2 : {φ ψ χ : Set} → (φ ∨ (ψ ∨ χ)) ↔ ((φ ∨ ψ) ∨ χ) | |
| ex2 {φ}{ψ}{χ} = | |
| let | |
| l1 = B {φ}{φ ∨ ψ}{(φ ∨ ψ) ∨ χ}(DI₁ {φ ∨ ψ}{χ}) (DI₁ {φ} {ψ}) | |
| -- φ → (φ ∨ ψ) ∨ χ | |
| l2 = B {ψ}{φ ∨ ψ}{(φ ∨ ψ) ∨ χ}(DI₁ {φ ∨ ψ}{χ}) (DI₂ {φ} {ψ}) | |
| -- ψ → (φ ∨ ψ) ∨ χ | |
| l3 = DI₂ {φ ∨ ψ}{χ} | |
| -- χ → (φ ∨ ψ) ∨ χ | |
| l4 = DE {ψ}{χ}{(φ ∨ ψ) ∨ χ}l2 l3 | |
| -- ψ ∨ χ → (φ ∨ ψ) ∨ χ | |
| l5 = DE {φ}{ψ ∨ χ}{(φ ∨ ψ) ∨ χ}l1 l4 | |
| -- φ ∨ (ψ ∨ χ) → (φ ∨ ψ) ∨ χ | |
| -- DE : (φ → χ) → (ψ → χ) → (φ ∨ ψ → χ) | |
| r1 = DI₁{φ}{ψ ∨ χ} | |
| -- φ → φ ∨ (ψ ∨ χ) | |
| r2 = B {ψ}{ψ ∨ χ}{φ ∨ (ψ ∨ χ)}(DI₂ {φ}{ψ ∨ χ}) (DI₁ {ψ}{χ}) | |
| -- ψ → φ ∨ (ψ ∨ χ) | |
| r3 = B {χ}{ψ ∨ χ}{φ ∨ (ψ ∨ χ)}(DI₂ {φ}{ψ ∨ χ}) (DI₂ {ψ}{χ}) | |
| -- χ → φ ∨ (ψ ∨ χ) | |
| r4 = DE {φ}{ψ}{φ ∨ (ψ ∨ χ)} r1 r2 | |
| -- φ ∨ ψ → φ ∨ (ψ ∨ χ) | |
| r5 = DE {φ ∨ ψ}{χ}{φ ∨ (ψ ∨ χ)} r4 r3 | |
| -- (φ ∨ ψ) ∨ χ → φ ∨ (ψ ∨ χ) | |
| in | |
| CI {φ ∨ (ψ ∨ χ) → (φ ∨ ψ) ∨ χ}{(φ ∨ ψ) ∨ χ → φ ∨ (ψ ∨ χ)} l5 r5 | |
| -- (φ ∨ (ψ ∨ χ)) ↔ ((φ ∨ ψ) ∨ χ) | |
| -- DI₁ : {φ ψ : Set} → φ → φ ∨ ψ | |
| -- DE : {φ ψ χ : Set} → (φ → χ) → (ψ → χ) → (φ ∨ ψ → χ) | |
| ex3 : {φ ψ : Set} → (φ ∧ ψ) ↔ (ψ ∧ φ) | |
| ex3 {φ}{ψ} = | |
| let | |
| l1 = CI {ψ}{φ} | |
| -- ψ → φ → ψ ∧ φ | |
| l2 = CE₂ {φ}{ψ} | |
| -- φ ∧ ψ → ψ | |
| l3 = B {φ ∧ ψ}{ψ}{φ → ψ ∧ φ} l1 l2 | |
| -- φ ∧ ψ → φ → ψ ∧ φ | |
| l4 = CE₁ {φ}{ψ} | |
| -- φ ∧ ψ → φ | |
| l5 = S {φ ∧ ψ}{φ}{ψ ∧ φ} l3 l4 | |
| -- φ ∧ ψ → ψ ∧ φ | |
| r1 = CI {φ}{ψ} | |
| -- φ → ψ → φ ∧ ψ | |
| r2 = CE₂ {ψ}{φ} | |
| -- ψ ∧ φ → φ | |
| r3 = B {ψ ∧ φ}{φ}{ψ → φ ∧ ψ} r1 r2 | |
| -- ψ ∧ φ → ψ → φ ∧ ψ | |
| r4 = CE₁ {ψ}{φ} | |
| -- ψ ∧ φ → ψ | |
| r5 = S {ψ ∧ φ}{ψ}{φ ∧ ψ} r3 r4 | |
| -- ψ ∧ φ → φ ∧ ψ | |
| in | |
| CI {φ ∧ ψ → ψ ∧ φ}{ψ ∧ φ → φ ∧ ψ}l5 r5 | |
| -- (φ ∧ ψ) ↔ (ψ ∧ φ) | |
| -- B : (ψ → χ) → (φ → ψ) → (φ → χ) | |
| ex4 : {φ ψ : Set} → (φ ∨ ψ) ↔ (ψ ∨ φ) | |
| ex4 {φ}{ψ} = | |
| let | |
| l1 = DI₂ {ψ}{φ} | |
| -- φ → ψ ∨ φ | |
| l2 = DI₁ {ψ}{φ} | |
| -- ψ → ψ ∨ φ | |
| l3 = DE l1 l2 | |
| -- φ ∨ ψ → ψ ∨ φ | |
| r1 = DI₁ {φ}{ψ} | |
| -- φ → φ ∨ ψ | |
| r2 = DI₂ {φ}{ψ} | |
| -- ψ → φ ∨ ψ | |
| r3 = DE r2 r1 | |
| -- ψ ∨ φ → φ ∨ ψ | |
| in | |
| CI {φ ∨ ψ → ψ ∨ φ}{ψ ∨ φ → φ ∨ ψ} l3 r3 | |
| -- (φ ∨ ψ) ↔ (ψ ∨ φ) | |
| -- DE : {φ ψ χ : Set} → (φ → χ) → (ψ → χ) → (φ ∨ ψ → χ) | |
| ex5 : {φ : Set} → φ ↔ (φ ∧ φ) | |
| ex5 {φ} = | |
| let | |
| l1 = CI {φ}{φ} | |
| -- φ → φ → φ ∧ φ | |
| l2 = I {φ} | |
| -- φ → φ | |
| l3 = S {φ}{φ}{φ ∧ φ}l1 l2 | |
| -- φ → φ ∧ φ | |
| r1 = CE₁ {φ}{φ} | |
| -- φ ∧ φ → φ | |
| in | |
| CI {φ → φ ∧ φ}{φ ∧ φ → φ} l3 r1 | |
| ex6 : {φ : Set} → φ ↔ (φ ∨ φ) | |
| ex6 {φ} = | |
| let | |
| l1 = DI₁ {φ}{φ} | |
| -- φ → φ ∨ φ | |
| r1 = DE {φ}{φ}{φ} (I {φ})(I {φ}) | |
| -- φ ∨ φ → φ | |
| in | |
| CI {φ → φ ∨ φ}{φ ∨ φ → φ} l1 r1 | |
| ex7 : {φ ψ : Set} → φ ↔ (φ ∧ (φ ∨ ψ)) | |
| ex7 {φ}{ψ} = | |
| let | |
| l1 = CI {φ}{φ ∨ ψ} | |
| -- φ → φ ∨ ψ → φ ∧ (φ ∨ ψ) | |
| l2 = (DI₁ {φ}{ψ}) | |
| -- φ → φ ∨ ψ | |
| l3 = S {φ}{φ ∨ ψ}{φ ∧ (φ ∨ ψ)} l1 l2 | |
| -- φ → φ ∧ (φ ∨ ψ) | |
| r1 = CE₁ {φ}{φ ∨ ψ} | |
| -- φ ∧ (φ ∨ ψ) → φ | |
| in | |
| CI {φ → φ ∧ (φ ∨ ψ)}{φ ∧ (φ ∨ ψ) → φ}l3 r1 | |
| ex8 : {φ ψ : Set} → φ ↔ (φ ∨ (φ ∧ ψ)) | |
| ex8 {φ}{ψ} = | |
| let | |
| l1 = DI₁ {φ}{φ ∧ ψ} | |
| -- φ → φ ∨ (φ ∧ ψ) | |
| r1 = I {φ} | |
| -- φ → φ | |
| r2 = CE₁ {φ}{ψ} | |
| -- φ ∧ ψ → φ | |
| r3 = DE {φ}{φ ∧ ψ}{φ}r1 r2 | |
| -- φ ∨ (φ ∧ ψ) → φ | |
| in | |
| CI {φ → φ ∨ (φ ∧ ψ)}{φ ∨ (φ ∧ ψ) → φ} l1 r3 | |
| -- 7.41 | |
| LNC : {φ : Set} → ¬ (φ ∧ ¬ φ) | |
| LNC {φ} = | |
| let | |
| -- ¬ (φ ∧ ¬ φ) | |
| -- (φ ∧ ¬ φ) → ⊥ | |
| p1 = CE₁ {φ}{¬ φ} | |
| -- φ ∧ ¬ φ → φ | |
| p2 = CE₂ {φ}{¬ φ} | |
| -- φ ∧ ¬ φ → ¬ φ | |
| -- = φ ∧ ¬ φ → φ → ⊥ | |
| p3 = S {φ ∧ ¬ φ}{φ}{⊥}p2 p1 | |
| -- φ ∧ ¬ φ → ⊥ | |
| in | |
| p3 | |
| -- 8.4.3 | |
| Dist∧ : {φ ψ χ : Set} → (φ ∨ (ψ ∧ χ)) ↔ ((φ ∨ ψ) ∧ (φ ∨ χ)) | |
| Dist∧ {φ}{ψ}{χ} = | |
| let | |
| -- proof: (φ ∨ (ψ ∧ χ)) → ((φ ∨ ψ) ∧ (φ ∨ χ)) | |
| l1 = DI₁ {φ}{ψ} | |
| -- φ → φ ∨ ψ | |
| l2 = CE₁ {ψ}{χ} | |
| -- ψ ∧ χ → ψ | |
| l3 = DI₂ {φ}{ψ} | |
| -- ψ → φ ∨ ψ | |
| l4 = B {ψ ∧ χ}{ψ}{φ ∨ ψ} l3 l2 | |
| -- ψ ∧ χ → φ ∨ ψ | |
| l5 = DE {φ}{ψ ∧ χ}{φ ∨ ψ} l1 l4 | |
| -- φ ∨ (ψ ∧ χ) → φ ∨ ψ | |
| l6 = DI₁ {φ}{χ} | |
| -- φ → φ ∨ χ | |
| l7 = B {ψ ∧ χ}{χ}{φ ∨ χ} (DI₂ {φ}{χ}) (CE₂ {ψ}{χ}) | |
| -- ψ ∧ χ → φ ∨ χ | |
| l8 = DE {φ}{ψ ∧ χ} l6 l7 | |
| -- φ ∨ (ψ ∧ χ) → φ ∨ χ | |
| l9 = CI {φ ∨ ψ} {φ ∨ χ} | |
| -- φ ∨ ψ → φ ∨ χ → (φ ∨ ψ) ∧ (φ ∨ χ) | |
| l10 = B {φ ∨ (ψ ∧ χ)}{φ ∨ ψ}{φ ∨ χ → (φ ∨ ψ) ∧ (φ ∨ χ)} l9 l5 | |
| -- φ ∨ (ψ ∧ χ) → φ ∨ χ → (φ ∨ ψ) ∧ (φ ∨ χ) | |
| l11 = S {φ ∨ (ψ ∧ χ)}{φ ∨ χ}{(φ ∨ ψ) ∧ (φ ∨ χ)} l10 l8 | |
| -- φ ∨ (ψ ∧ χ) → (φ ∨ ψ) ∧ (φ ∨ χ) | |
| -- ((φ ∨ ψ) ∧ (φ ∨ χ)) → (φ ∨ (ψ ∧ χ)) | |
| r1 = CE₁ {φ ∨ ψ}{φ ∨ χ} | |
| -- (φ ∨ ψ) ∧ (φ ∨ χ) → φ ∨ ψ | |
| r2 = CE₂ {φ ∨ ψ}{φ ∨ χ} | |
| -- (φ ∨ ψ) ∧ (φ ∨ χ) → φ ∨ χ | |
| r3 = DI₁ {φ}{ψ ∧ χ} | |
| -- φ → φ ∨ (ψ ∧ χ) | |
| r4a = DE {φ}{ψ}{φ ∨ (ψ ∧ χ)} | |
| -- (φ → φ ∨ (ψ ∧ χ)) → (ψ → φ ∨ (ψ ∧ χ)) → φ ∨ ψ → φ ∨ (ψ ∧ χ) | |
| r4 = r4a r3 | |
| -- (ψ → φ ∨ (ψ ∧ χ)) → φ ∨ ψ → φ ∨ (ψ ∧ χ) | |
| r5 = DI₁ {φ}{ψ ∧ χ} | |
| -- φ → φ ∨ (ψ ∧ χ) | |
| r6a = (K {φ → φ ∨ (ψ ∧ χ)}{ψ} r5) | |
| -- ψ → φ → φ ∨ (ψ ∧ χ) | |
| r6 = C {ψ}{φ}{φ ∨ (ψ ∧ χ)} r6a | |
| -- φ → ψ → φ ∨ (ψ ∧ χ) | |
| r7 = C {ψ}{χ}{ψ ∧ χ}(CI {ψ}{χ}) | |
| -- χ → ψ → ψ ∧ χ | |
| r8 = DI₂ {φ}{ψ ∧ χ} | |
| -- ψ ∧ χ → φ ∨ (ψ ∧ χ) | |
| r9a = B {ψ}{ψ ∧ χ}{φ ∨ (ψ ∧ χ)} | |
| -- (ψ ∧ χ → φ ∨ (ψ ∧ χ)) → (ψ → ψ ∧ χ) → ψ → φ ∨ (ψ ∧ χ) | |
| r9 = r9a r8 | |
| -- (ψ → ψ ∧ χ) → ψ → φ ∨ (ψ ∧ χ) | |
| -- r7: χ → (ψ → ψ ∧ χ) | |
| r10 = B {χ}{ψ → ψ ∧ χ}{ψ → φ ∨ (ψ ∧ χ)}r9 r7 | |
| -- χ → ψ → φ ∨ (ψ ∧ χ) | |
| r11 = DE {φ}{χ}{ψ → φ ∨ (ψ ∧ χ)} r6 r10 | |
| -- φ ∨ χ → ψ → φ ∨ (ψ ∧ χ) | |
| -- r2 : (φ ∨ ψ) ∧ (φ ∨ χ) → φ ∨ χ | |
| r12 = B {(φ ∨ ψ) ∧ (φ ∨ χ)}{φ ∨ χ}{ψ → φ ∨ (ψ ∧ χ)}r11 r2 | |
| -- (φ ∨ ψ) ∧ (φ ∨ χ) → ψ → φ ∨ (ψ ∧ χ) | |
| r13 = B {(φ ∨ ψ) ∧ (φ ∨ χ)}{ψ → φ ∨ (ψ ∧ χ)}{φ ∨ ψ → φ ∨ (ψ ∧ χ)}r4 r12 | |
| -- (φ ∨ ψ) ∧ (φ ∨ χ) → φ ∨ ψ → φ ∨ (ψ ∧ χ) | |
| -- r4: (ψ → φ ∨ (ψ ∧ χ)) → φ ∨ ψ → φ ∨ (ψ ∧ χ) | |
| -- r1: (φ ∨ ψ) ∧ (φ ∨ χ) → φ ∨ ψ | |
| r14 = S {(φ ∨ ψ) ∧ (φ ∨ χ)}{φ ∨ ψ}{φ ∨ (ψ ∧ χ)}r13 r1 | |
| -- (φ ∨ ψ) ∧ (φ ∨ χ) → φ ∨ (ψ ∧ χ) | |
| in | |
| CI {φ ∨ (ψ ∧ χ) → (φ ∨ ψ) ∧ (φ ∨ χ)}{(φ ∨ ψ) ∧ (φ ∨ χ) → φ ∨ (ψ ∧ χ)} l11 r14 | |
| Dist∨ : {φ ψ χ : Set} → (φ ∧ (ψ ∨ χ)) ↔ ((φ ∧ ψ) ∨ (φ ∧ χ)) | |
| Dist∨ {φ}{ψ}{χ} = | |
| let | |
| -- (φ ∧ (ψ ∨ χ)) → ((φ ∧ ψ) ∨ (φ ∧ χ)) | |
| l1 = CE₁ {φ} {ψ ∨ χ} | |
| -- φ ∧ (ψ ∨ χ) → φ | |
| l2 = CE₂ {φ} {ψ ∨ χ} | |
| -- φ ∧ (ψ ∨ χ) → ψ ∨ χ | |
| l3 = C {φ}{ψ}{φ ∧ ψ}(CI {φ}{ψ}) | |
| -- ψ → φ → φ ∧ ψ | |
| l4 = DI₁ {φ ∧ ψ}{φ ∧ χ} | |
| -- φ ∧ ψ → (φ ∧ ψ) ∨ (φ ∧ χ) | |
| l5 = B {ψ}{φ → φ ∧ ψ}{φ → (φ ∧ ψ) ∨ (φ ∧ χ)} | |
| (B{φ}{φ ∧ ψ}{(φ ∧ ψ) ∨ (φ ∧ χ)} l4) l3 | |
| -- ψ → φ → (φ ∧ ψ) ∨ (φ ∧ χ) | |
| -- /χ → φ → (φ ∧ ψ) ∨ (φ ∧ χ) | |
| -- /ψ ∨ χ → φ → (φ ∧ ψ) ∨ (φ ∧ χ) | |
| l6 = C {φ}{χ}{φ ∧ χ}(CI {φ}{χ}) | |
| -- χ → φ → φ ∧ χ | |
| l7 = DI₂ {φ ∧ ψ}{φ ∧ χ} | |
| -- φ ∧ χ → (φ ∧ ψ) ∨ (φ ∧ χ) | |
| l8 = B {χ}{φ → φ ∧ χ}{φ → (φ ∧ ψ) ∨ (φ ∧ χ)} | |
| (B {φ}{φ ∧ χ}{(φ ∧ ψ) ∨ (φ ∧ χ)}l7) l6 | |
| -- χ → φ → (φ ∧ ψ) ∨ (φ ∧ χ) | |
| l9 = DE {ψ}{χ}{φ → (φ ∧ ψ) ∨ (φ ∧ χ)} l5 l8 | |
| -- ψ ∨ χ → φ → (φ ∧ ψ) ∨ (φ ∧ χ) | |
| -- l1 φ ∧ (ψ ∨ χ) → φ | |
| -- l2 φ ∧ (ψ ∨ χ) → ψ ∨ χ | |
| l10 = B {φ ∧ (ψ ∨ χ)}{ψ ∨ χ}{φ → (φ ∧ ψ) ∨ (φ ∧ χ)}l9 l2 | |
| -- φ ∧ (ψ ∨ χ) → φ → (φ ∧ ψ) ∨ (φ ∧ χ) | |
| l11 = S {φ ∧ (ψ ∨ χ)}{φ}{(φ ∧ ψ) ∨ (φ ∧ χ)}l10 l1 | |
| -- φ ∧ (ψ ∨ χ) → (φ ∧ ψ) ∨ (φ ∧ χ) | |
| -- ((φ ∧ ψ) ∨ (φ ∧ χ)) → (φ ∧ (ψ ∨ χ)) | |
| r1 = B (CI {φ}{ψ ∨ χ}) (CE₁{φ}{ψ}) | |
| -- φ ∧ ψ → φ | |
| -- φ → ψ ∨ χ → φ ∧ (ψ ∨ χ) | |
| -- φ ∧ ψ → ψ ∨ χ → φ ∧ (ψ ∨ χ) | |
| r2 = B (DI₁ {ψ}{χ})(CE₂ {φ}{ψ}) | |
| -- φ ∧ ψ → ψ ∨ χ | |
| r3 = S {φ ∧ ψ}{ψ ∨ χ}{φ ∧ (ψ ∨ χ)}r1 r2 | |
| -- φ ∧ ψ → φ ∧ (ψ ∨ χ) | |
| r4 = B (CI {φ}{ψ ∨ χ}) (CE₁{φ}{χ}) | |
| -- φ ∧ χ → ψ ∨ χ → φ ∧ (ψ ∨ χ) | |
| r5 = B (DI₂ {ψ}{χ})(CE₂ {φ}{χ}) | |
| -- φ ∧ χ → ψ ∨ χ | |
| r6 = S {φ ∧ χ}{ψ ∨ χ}{φ ∧ (ψ ∨ χ)} r4 r5 | |
| -- φ ∧ χ → φ ∧ (ψ ∨ χ) | |
| r7 = DE{φ ∧ ψ}{φ ∧ χ}{φ ∧ (ψ ∨ χ)} r3 r6 | |
| -- (φ ∧ ψ) ∨ (φ ∧ χ) → φ ∧ (ψ ∨ χ) | |
| in | |
| CI l11 r7 | |
| DM∨ : {φ ψ : Set} → ¬ (φ ∨ ψ) ↔ ¬ φ ∧ ¬ ψ | |
| DM∨ {φ}{ψ} = | |
| let | |
| -- Proof: ¬ (φ ∨ ψ) → ¬ φ ∧ ¬ ψ | |
| l1 = C⋆{φ ∨ ψ}{⊥} | |
| -- φ ∨ ψ → (φ ∨ ψ → ⊥) → ⊥ | |
| -- φ → φ ∨ ψ | |
| -- ψ → φ ∨ ψ | |
| l2 = B {φ}{φ ∨ ψ}{¬ (φ ∨ ψ ) → ⊥} l1 (DI₁ {φ}{ψ}) | |
| -- φ → ¬ (φ ∨ ψ) → ⊥ | |
| l3 = C {φ}{¬ (φ ∨ ψ)}{⊥}l2 | |
| -- ¬ (φ ∨ ψ) → φ → ⊥ | |
| -- ¬ (φ ∨ ψ) → ¬ φ | |
| l4 = B {ψ}{φ ∨ ψ}{¬ (φ ∨ ψ ) → ⊥} l1 (DI₂ {φ}{ψ}) | |
| -- ψ → ¬ (φ ∨ ψ) → ⊥ | |
| l5 = C {ψ}{¬ (φ ∨ ψ)}{⊥}l4 | |
| -- ¬ (φ ∨ ψ) → ψ → ⊥ | |
| -- ¬ (φ ∨ ψ) → ¬ ψ | |
| l6 = CI {¬ φ}{¬ ψ} | |
| -- ¬ φ → ¬ ψ → ¬ φ ∧ ¬ ψ | |
| l7 = B {¬ (φ ∨ ψ)}{¬ φ}{¬ ψ → ¬ φ ∧ ¬ ψ}l6 l3 | |
| -- ¬ (φ ∨ ψ) → ¬ ψ → ¬ φ ∧ ¬ ψ | |
| l8 = S {¬ (φ ∨ ψ)}{¬ ψ}{¬ φ ∧ ¬ ψ}l7 l5 | |
| -- ¬ (φ ∨ ψ) → ¬ φ ∧ ¬ ψ | |
| -- Proof: ¬ φ ∧ ¬ ψ → ¬ (φ ∨ ψ) | |
| r1 = CE₁ {¬ φ}{¬ ψ} | |
| -- ¬ φ ∧ ¬ ψ → ¬ φ | |
| -- ¬ φ ∧ ¬ ψ → φ → ⊥ | |
| r2 = C {¬ φ ∧ ¬ ψ}{φ}{⊥} r1 | |
| -- φ → ¬ φ ∧ ¬ ψ → ⊥ | |
| r3 = C {¬ φ ∧ ¬ ψ}{ψ}{⊥}(CE₂ {¬ φ}{¬ ψ}) | |
| -- ψ → ¬ φ ∧ ¬ ψ → ⊥ | |
| r4 = DE {φ}{ψ}{¬ φ ∧ ¬ ψ → ⊥} r2 r3 | |
| -- φ ∨ ψ → ¬ φ ∧ ¬ ψ → ⊥ | |
| r5 = C {φ ∨ ψ}{¬ φ ∧ ¬ ψ}{⊥}r4 | |
| -- ¬ φ ∧ ¬ ψ → φ ∨ ψ → ⊥ | |
| in | |
| CI {¬ (φ ∨ ψ) → ¬ φ ∧ ¬ ψ}{¬ φ ∧ ¬ ψ → ¬ (φ ∨ ψ)}l8 r5 | |
| DM∧₁ : {φ ψ : Set} → ¬ φ ∨ ¬ ψ → ¬ (φ ∧ ψ) | |
| DM∧₁ {φ}{ψ} = | |
| let | |
| p1 = CE₁ {φ}{ψ} | |
| -- φ ∧ ψ → φ | |
| p2 = C⋆ {φ}{⊥} | |
| -- φ → (φ → ⊥) → ⊥ | |
| p3 = B {φ ∧ ψ}{φ}{¬ φ → ⊥}p2 p1 | |
| -- φ ∧ ψ → ¬ φ → ⊥ | |
| p4 = B{φ ∧ ψ}{ψ}{¬ ψ → ⊥}(C⋆ {ψ}{⊥})(CE₂{φ}{ψ}) | |
| -- φ ∧ ψ → ¬ ψ → ⊥ | |
| p5 = C {φ ∧ ψ}{¬ φ}{⊥}p3 | |
| -- ¬ φ → φ ∧ ψ → ⊥ | |
| p6 = C {φ ∧ ψ}{¬ ψ}{⊥}p4 | |
| -- ¬ ψ → φ ∧ ψ → ⊥ | |
| p7 = DE {¬ φ}{¬ ψ}{φ ∧ ψ → ⊥}p5 p6 | |
| -- ¬ φ ∨ ¬ ψ → φ ∧ ψ → ⊥ | |
| -- ¬ φ ∨ ¬ ψ → ¬ φ ∧ ψ | |
| in | |
| p7 | |
| DM∧₂′ : {φ ψ : Set} → ¬ ¬ (φ ∧ ψ) → ¬ ¬ φ ∨ ¬ ¬ ψ | |
| DM∧₂′ {φ}{ψ} = | |
| -- ((φ ∧ ψ → ⊥) → ⊥) → ((φ → ⊥) → ⊥) ∨ ((ψ → ⊥) → ⊥) | |
| let | |
| p1 = C⋆ {¬ (φ ∧ ψ)}{⊥} | |
| -- ¬ (φ ∧ ψ) → (¬ (φ ∧ ψ) → ⊥) → ⊥ | |
| p2 = DM∧₁ {φ}{ψ} | |
| -- ¬ φ ∨ ¬ ψ → ¬ (φ ∧ ψ) | |
| p3 = B p1 p2 | |
| -- ¬ φ ∨ ¬ ψ → (¬ (φ ∧ ψ) → ⊥) → ⊥ | |
| p4 = C p3 | |
| -- (¬ (φ ∧ ψ) → ⊥) → ¬ φ ∨ ¬ ψ → ⊥ | |
| -- ¬ ¬ (φ ∧ ψ) → ¬ (¬ φ ∨ ¬ ψ) | |
| p5 = CE₁ (DM∨ {¬ φ}{¬ ψ}) | |
| -- ¬ (¬ φ ∨ ¬ ψ) → ¬ (¬ φ) ∧ ¬ (¬ ψ) | |
| p6 = B p5 p4 | |
| -- (¬ (φ ∧ ψ) → ⊥) → ¬ (¬ φ) ∧ ¬ (¬ ψ) | |
| p7 = CE₁ {¬ (¬ φ)}{¬ (¬ ψ)} | |
| -- ¬ (¬ φ) ∧ ¬ (¬ ψ) → ¬ (¬ φ) | |
| p8 = B (DI₁ {¬ (¬ φ)}{¬ (¬ ψ)}) p7 | |
| -- ¬ (¬ φ) ∧ ¬ (¬ ψ) → ¬ (¬ φ) ∨ ¬ (¬ ψ) | |
| p9 = B p8 p6 | |
| in | |
| p9 | |
| -- DM∨ : {φ ψ : Set} → ¬ (φ ∨ ψ) ↔ ¬ φ ∧ ¬ ψ | |
| -- DM∧₁ : {φ ψ : Set} → ¬ φ ∨ ¬ ψ → ¬ (φ ∧ ψ) | |
| -- (UI) ∀ζ(ψ → φ[ζ/ξ]) → (ψ → ∀ ξ φ) (ζ ∉ fv(ψ) ∪ fv(∀ξφ)) | |
| -- (UE) ∀ξφ → φ[τ/ξ] | |
| -- (EI) φ[τ/ξ] → ∃ξφ | |
| -- (EE) ∀ζ(φ[ζ/ξ] → ψ) → (∃ξφ → ψ) (ζ ∉ fv(ψ) ∪ fv(∃ξφ)) | |
| -- GEN φ[ζ/ξ] ⇒ ∀ξφ (ζ ∉ fv(前提) ∪ fv(∀ξφ)) | |
| -- 例. 7.49 | |
| -- ⊢ ∀ξ∀ζφ → ∀ζ∀ξφ | |
| -- ∀ξ∀ζφ ⊢ ∀ζ∀ξφ を証明し、演繹定理を用いる | |
| -- 1. ∀ξ∀ζφ 前提 | |
| -- 2. ∀ξ∀ζφ → (∀ζφ)[ξ/ξ] UE{∀ζφ} | |
| -- 3. ∀ζφ[ξ/ξ] 1, 2, MP | |
| -- 4. ∀ζφ 3, 定理5.42(1) | |
| -- 5. ∀ζφ → φ[ζ/ζ] UE{φ} | |
| -- 6. φ[ζ/ζ] 4, 5, MP | |
| -- 7. φ[ξ/ξ] 6, 定理5.42(1) | |
| -- 8. ∀ξφ 7, GEN, ξ ∉ fv(∀ξ∀ζφ) ∪ fv(∀ξφ) | |
| -- 9. ∀ξφ[ζ/ζ] 8, 定理5.42(1) | |
| -- 10 ∀ζξφ 9, GEN, ζ ∉ fv(∀ξ∀ζφ) ∪ fv(∀ζ∀ξφ) | |
| -- 練習問題7.50 | |
| -- ⊢ ¬¬∀ξφ → ∀φ | |
| -- ¬¬∀ξφ ⊢ ∀φ を証明し、演繹定理 | |
| -- 1. ¬¬∀ξφ 前提 | |
| -- (∀ξφ → ⊥) → ⊥ | |
| -- 2. ∀ξφ → φ[ξ/ξ] UE | |
| -- 3. ∀ξφ → φ 2, 定理5.42(1) | |
| -- 4. φ → (φ → ⊥) → ⊥ C⋆ | |
| -- 5. ∀ξφ → (φ → ⊥) → ⊥ B, 4, 3 | |
| -- 6. (φ → ⊥) → ∀ξφ → ⊥ C, 5 | |
| -- 7. (φ → ⊥) → ⊥ B, 1, 6 | |
| -- 8. ¬¬φ[ξ/ξ] 7, 定理5.42(1) | |
| -- 9. ∀φ 8, GEN, ξ ∉ fv(¬¬∀ξφ) ∪ fv(∀φ) | |
| -- | |
| -- ⊢ ∃ξ¬φ → ¬∀ξφ | |
| -- 1. ∀ξ(¬φ[ξ/ξ] → ¬∀ξφ) → (∃ξ¬φ → ¬∀ξφ) EE | |
| -- 2. ∀ξ(¬φ → ¬∀ξφ) → (∃ξ¬φ → ¬∀ξφ) 1, 定理5.42(1) | |
| -- 3. ∀ξφ → φ[ξ/ξ] UE | |
| -- 4. ∀ξφ → φ 3, 定理5.42(1) | |
| -- 5. φ → (φ → ⊥) → ⊥ C⋆ | |
| -- 6. ∀ξφ → (φ → ⊥) → ⊥ B, 5, 4 | |
| -- 7. (φ → ⊥) → ∀ξφ → ⊥ C, 6 | |
| -- ¬φ → ¬∀ξφ | |
| -- 8. (¬φ → ¬∀ξφ)[ξ/ξ] 7, 定理5.42(1) | |
| -- 9. ∀ξ(¬φ → ¬∀ξφ) 8, GEN, ξ∉∀ξ(¬φ → ¬∀ξφ) | |
| -- 10. ∃ξ¬φ → ¬∀ξφ 2, 9, MP | |
| -- ⊢ ∀ξ¬φ → ¬∃ξφ | |
| -- ∀ξ¬φ ⊢ ¬∃ξφ を証明し、演繹定理 | |
| -- 1. ∀ξ¬φ 前提 | |
| -- ∀ξ (φ → ⊥) | |
| -- 2. ∀ξ(φ[ξ/ξ] → ⊥) → (∃ξφ → ⊥) EE, ξ∉fv(⊥)∪fv(∃ξφ) | |
| -- 3. ∀ξ(φ[ξ/ξ] → ⊥) 1, 定理5.42(1) | |
| -- 4. ∃ξφ → ⊥ 2, 3, MP | |
| -- ¬∃ξφ | |
| -- ⊢ ¬∃ξφ → ∀ξ¬φ | |
| -- ¬∃ξφ ⊢ ∀ξ¬φ を証明し、演繹定理 | |
| -- 1. ¬∃ξφ 前提 | |
| -- ∃ξφ → ⊥ | |
| -- 2. φ[ξ/ξ] → ∃ξφ EI | |
| -- 3. φ → ∃ξφ 2, 定理5.42(1) | |
| -- 4. φ → ⊥ B, 2, 1 | |
| -- 5, ¬φ[ξ/ξ] 4, 定理5.42(1) | |
| -- 6. ∀ξ¬φ 5, GEN, ξ∉fv(¬∃ξφ)∪fv(∀ξ¬φ) | |
| module hj where | |
| EFQ : {φ : Set} → ⊥ → φ | |
| EFQ () | |
| ex7531 : {φ ψ : Set} → (¬ φ ∨ ψ) → φ → ψ | |
| ex7531 {φ}{ψ} = | |
| let | |
| p1 = C⋆ {φ}{⊥} | |
| -- φ → (φ → ⊥) → ⊥ | |
| p2 = C{φ}{¬ φ}{⊥} p1 | |
| -- ¬ φ → φ → ⊥ | |
| p3 = EFQ {ψ} | |
| -- ⊥ → ψ | |
| p4 = B {φ}{⊥}{ψ}p3 | |
| -- (φ → ⊥) → φ → ψ | |
| p5 = B p4 p2 | |
| -- ¬ φ → φ → ψ | |
| p6 = K{ψ}{φ} | |
| -- ψ → φ → ψ | |
| p7 = DE{¬ φ}{ψ}{φ → ψ} p5 p6 | |
| in | |
| p7 | |
| ex7532 : {φ ψ : Set} → (¬ ¬ φ → ¬ ¬ ψ) → ¬ ¬ (φ → ψ) | |
| -- (¬ ¬ φ → ¬ ¬ ψ) → ¬ (φ → ψ) → ⊥ | |
| ex7532 {φ}{ψ} p q = | |
| let | |
| p1 = p | |
| -- ¬ ¬ φ → ¬ ¬ ψ | |
| p2 = q | |
| -- ¬ (φ → ψ) | |
| p3 = C⋆ {φ}{⊥} | |
| -- φ → (φ → ⊥) → ⊥ | |
| p4 = EFQ {ψ} | |
| -- ⊥ → ψ | |
| p5 = B {(φ → ⊥)}{⊥}{ψ} p4 | |
| -- ((φ → ⊥) → ⊥) → (φ → ⊥) → ψ | |
| p6 = B {φ}{¬ ¬ φ}{(φ → ⊥) → ψ}p5 p3 | |
| -- φ → (φ → ⊥) → ψ | |
| p7 = C {φ}{φ → ⊥}{ψ}p6 | |
| -- (φ → ⊥) → φ → ψ | |
| p8 = B {¬ φ}{φ → ψ}{⊥}p2 p7 | |
| -- (φ → ⊥) → ⊥ | |
| -- ¬ ¬ φ | |
| p9 = p1 p8 | |
| -- ¬ (¬ ψ) | |
| p10 = K {ψ}{φ} | |
| -- ψ → φ → ψ | |
| p11 = B p2 p10 | |
| -- ψ → ⊥ | |
| p12 = p9 p11 | |
| in | |
| p12 | |
| -- f g = f (λ x → g (λ p → ⊥-elim (x p))) (λ q → g (λ x → q)) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment