Last active
April 30, 2020 02:23
-
-
Save isti115/fbc66bd20901c2d209fe0185c62b4afe to your computer and use it in GitHub Desktop.
Hilbert system formalization in Agda
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
module Hilbert where | |
-- postulate | |
-- Identifier : Set | |
-- a b c x y z : Identifier | |
-- bot : Identifier | |
infixr 4 _=>_ | |
data Expression : Set where | |
-- atom : Identifier → Expression | |
_=>_ : Expression → Expression → Expression | |
variable | |
-- A B C X Y Z : Expression | |
α β γ δ φ ψ ξ : Expression | |
postulate | |
⊥ : Expression | |
infix 7 ¬_ | |
¬_ : Expression → Expression | |
¬ E = E => ⊥ | |
infixr 5 _∨_ | |
_∨_ : Expression → Expression → Expression | |
E ∨ F = ¬ E => F | |
infixr 6 _∧_ | |
_∧_ : Expression → Expression → Expression | |
E ∧ F = ¬ (¬ E ∨ ¬ F) | |
-- Based on: https://en.wikipedia.org/wiki/Hilbert_system#Logical_axioms | |
data Tautology : Expression → Set where | |
-- Axioms | |
-- A₁ : (φ : Expression) → Tautology (φ => φ) | |
A₂ : (φ ψ : Expression) → Tautology (φ => (ψ => φ)) | |
A₃ : (φ ψ ξ : Expression) → Tautology ((φ => (ψ => ξ)) => ((φ => ψ) => (φ => ξ))) | |
A₄ : (φ ψ : Expression) → Tautology ((¬ φ => ¬ ψ) => (ψ => φ)) | |
-- Modus Ponens | |
MP : {φ ψ : Expression} → Tautology φ → Tautology (φ => ψ) → Tautology ψ | |
A₁ : (φ : Expression) → Tautology (φ => φ) | |
A₁ φ = t₅ | |
where | |
t₁ : Tautology (φ => (φ => φ) => φ) | |
t₁ = A₂ φ (φ => φ) | |
t₂ : Tautology (φ => φ => φ) | |
t₂ = A₂ φ φ | |
t₃ : Tautology ((φ => (φ => φ) => φ) => (φ => φ => φ) => φ => φ) | |
t₃ = A₃ φ (φ => φ) φ | |
t₄ : Tautology ((φ => φ => φ) => φ => φ) | |
t₄ = MP t₁ t₃ | |
t₅ : Tautology (φ => φ) | |
t₅ = MP t₂ t₄ | |
-- Equivalence / Deduction theorem | |
-- from-meta : (Tautology α → Tautology β) → Tautology (α => β) | |
-- from-meta {α} {β} f = {!-c !} | |
to-meta : Tautology (α => β) → (Tautology α → Tautology β) | |
to-meta Tα=>β Tα = MP Tα Tα=>β | |
-- Extra lemmas | |
prepend-meta : (α : Expression) → Tautology β → Tautology (α => β) | |
prepend-meta {β} α Tβ = MP Tβ (A₂ β α) | |
-- insert-meta : (α β γ : Expression) → Tautology (α => γ) → Tautology (α => β => γ) | |
insert-meta : (β : Expression) → Tautology (α => γ) → Tautology (α => β => γ) | |
-- insert-meta α β γ Tα=>γ = MP Tα=>γ (MP (MP (A₂ γ β) (A₂ (γ => β => γ) α)) (A₃ α γ (β => γ))) | |
insert-meta {α} {γ} β Tα=>γ = t₆ | |
where | |
t₁ : Tautology ((α => γ => β => γ) => (α => γ) => α => β => γ) | |
t₁ = A₃ α γ (β => γ) | |
t₂ : Tautology ((γ => β => γ) => α => γ => β => γ) | |
t₂ = A₂ (γ => β => γ) α | |
t₃ : Tautology (γ => β => γ) | |
t₃ = A₂ γ β | |
t₄ : Tautology (α => γ => β => γ) | |
t₄ = MP t₃ t₂ | |
-- t₄ = prepend-meta α (A₂ γ β) | |
t₅ : Tautology ((α => γ) => α => β => γ) | |
t₅ = MP t₄ t₁ | |
t₆ : Tautology (α => β => γ) | |
t₆ = MP Tα=>γ t₅ | |
-- lift : | |
reorder : Tautology ((α => β => γ) => (β => α => γ)) | |
reorder {α} {β} {γ} = t₈ | |
where | |
H = (α => β => γ) | |
t₀ : Tautology (H => H) | |
t₀ = A₁ H | |
t₁ : Tautology (H => ((α => β) => α => γ) => β => (α => β) => α => γ) | |
-- t₁ = MP (A₂ ((α => β) => α => γ) β) (A₂ (((α => β) => α => γ) => β => (α => β) => α => γ) H) | |
t₁ = MP (A₂ ((α => β) => α => γ) β) (A₂ _ _) | |
t₂ : Tautology (H => (α => β => γ) => (α => β) => α => γ) | |
t₂ = MP (A₃ α β γ) (A₂ _ _) | |
t₃ : Tautology (H => (β => (α => β) => α => γ) => (β => α => β) => β => α => γ) | |
t₃ = MP (A₃ β (α => β) (α => γ)) (A₂ _ _) | |
t₄ : Tautology (H => (α => β) => α => γ) | |
t₄ = MP t₀ (MP t₂ (A₃ _ _ _)) | |
t₅ : Tautology (H => β => (α => β) => α => γ) | |
t₅ = MP t₄ (MP t₁ (A₃ _ _ _)) | |
t₆ : Tautology (H => (β => α => β) => β => α => γ) | |
t₆ = MP t₅ (MP t₃ (A₃ _ _ _)) | |
t₇ : Tautology (H => β => α => β) | |
t₇ = MP (A₂ β α) (A₂ _ _) | |
t₈ : Tautology (H => β => α => γ) | |
t₈ = MP t₇ (MP t₆ (A₃ _ _ _)) | |
reorder-meta : Tautology (α => β => γ) → Tautology (β => α => γ) | |
-- reorder-meta Tα=>β=>γ = MP (A₂ β α) | |
-- (MP (MP (MP Tα=>β=>γ (A₃ α β γ)) (A₂ ((α => β) => α => γ) β)) | |
-- (A₃ β (α => β) (α => γ))) | |
reorder-meta {α} {β} {γ} Tα=>β=>γ = t₈ | |
where | |
t₁ : Tautology (((α => β) => α => γ) => β => (α => β) => α => γ) | |
t₁ = A₂ ((α => β) => α => γ) β | |
t₂ : Tautology ((α => β => γ) => (α => β) => α => γ) | |
t₂ = A₃ α β γ | |
t₃ : Tautology ((β => (α => β) => α => γ) => (β => α => β) => β => α => γ) | |
t₃ = A₃ β (α => β) (α => γ) | |
t₄ : Tautology ((α => β) => α => γ) | |
t₄ = MP Tα=>β=>γ (t₂) | |
t₅ : Tautology (β => (α => β) => α => γ) | |
t₅ = MP t₄ t₁ | |
t₆ : Tautology ((β => α => β) => β => α => γ) | |
t₆ = MP t₅ t₃ | |
t₇ : Tautology (β => α => β) | |
t₇ = A₂ β α | |
t₈ : Tautology (β => α => γ) | |
t₈ = MP t₇ t₆ | |
-- replace-meta : Tautology (β => γ) → Tautology (α => β) → Tautology (α => γ) | |
-- replace-meta = {!!} | |
insert-meta' : (β : Expression) → Tautology (α => γ) → Tautology (α => β => γ) | |
insert-meta' β Tα=>γ = reorder-meta (prepend-meta β Tα=>γ) | |
syllogism : Tautology ((α => β) => (β => γ) => (α => γ)) | |
-- syllogism {α} {β} {γ} = reorder-meta (MP (A₂ (β => γ) α) | |
-- (MP | |
-- (MP (A₃ α β γ) (A₂ ((α => β => γ) => (α => β) => α => γ) (β => γ))) | |
-- (A₃ (β => γ) (α => β => γ) ((α => β) => α => γ)))) | |
syllogism {α} {β} {γ} = reorder-meta t₆ | |
where | |
t₁ : Tautology | |
(((β => γ) => (α => β => γ) => (α => β) => α => γ) => | |
((β => γ) => α => β => γ) => (β => γ) => (α => β) => α => γ) | |
t₁ = A₃ (β => γ) (α => β => γ) ((α => β) => α => γ) | |
t₂ : Tautology | |
(((α => β => γ) => (α => β) => α => γ) => | |
(β => γ) => (α => β => γ) => (α => β) => α => γ) | |
t₂ = A₂ ((α => β => γ) => (α => β) => α => γ) (β => γ) | |
t₃ : Tautology ((β => γ) => (α => β => γ) => (α => β) => α => γ) | |
t₃ = MP (A₃ α β γ) t₂ | |
t₄ : Tautology (((β => γ) => α => β => γ) => (β => γ) => (α => β) => α => γ) | |
t₄ = MP t₃ t₁ | |
t₅ : Tautology ((β => γ) => α => β => γ) | |
t₅ = A₂ (β => γ) α | |
t₆ : Tautology ((β => γ) => (α => β) => α => γ) | |
t₆ = MP t₅ t₄ | |
syllogism-meta : Tautology (α => β) → Tautology (β => γ) → Tautology (α => γ) | |
-- syllogism-meta {α} {β} {γ} Tα=>β Tβ=>γ = MP Tα=>β (MP (MP Tβ=>γ (A₂ (β => γ) α)) (A₃ α β γ)) | |
-- syllogism-meta {α} {β} {γ} Tα=>β = to-meta (to-meta {α => β} {(β => γ) => (α => γ)} syllogism Tα=>β) | |
syllogism-meta {α} {β} {γ} Tα=>β = to-meta (to-meta syllogism Tα=>β) | |
mp : Tautology (α => (α => β) => β) | |
mp {α} {β} = t₇ | |
where | |
t₁ : Tautology ((α => β) => (α => β)) | |
t₁ = A₁ (α => β) | |
t₂ : Tautology (((α => β) => α => β) => ((α => β) => α) => (α => β) => β) | |
t₂ = A₃ (α => β) α β | |
t₃ : Tautology (α => (α => β) => α) | |
t₃ = A₂ α (α => β) | |
t₄ : Tautology (((α => β) => α) => (α => β) => β) | |
t₄ = MP t₁ t₂ | |
-- t₅ : {!Tautology ((β => γ) => (α => β) => (α => γ))!} | |
-- t₅ = reorder-meta syllogism | |
t₅ : Tautology ((((α => β) => α) => ((α => β) => β)) => (α => ((α => β) => α)) => (α => ((α => β) => β))) | |
t₅ = reorder-meta (syllogism {α} {(α => β) => α} {(α => β) => β}) | |
-- t₅ = reorder-meta (A₂ (α => (α => β) => β) (((α => β) => β) => (α => β) => β)) | |
t₆ : Tautology ((α => (α => β) => α) => α => (α => β) => β) | |
t₆ = MP t₄ t₅ | |
t₇ : Tautology (α => (α => β) => β) | |
t₇ = MP t₃ t₆ | |
-- syllogism-4 : Tautology ((α => β => γ) => (γ => δ) => (α => β => δ)) | |
-- syllogism-4 {α} {β} {γ} {δ} = {!reorder-meta syllogism -t 120!} | |
-- where | |
-- t₁ : Tautology (((α => β) => γ) => (γ => δ) => (α => β) => δ) | |
-- t₁ = syllogism {α => β} {γ} {δ} | |
-- t₂ : Tautology ((α => β => γ) => (γ => δ) => (α => β) => δ) | |
-- t₂ = syllogism-meta {α => β => γ} {((α => β) => γ)} {(γ => δ) => (α => β) => δ} {!!} t₁ | |
-- t₃ : {!!} | |
-- t₃ = {!!} | |
-- t₄ : {!!} | |
-- t₄ = {!!} | |
-- t₅ : {!!} | |
-- t₅ = {!!} | |
-- tₙ : {!!} | |
-- tₙ = {!!} | |
syllogism-4-meta : Tautology (α => β => γ) → Tautology (γ => δ) → Tautology (α => β => δ) | |
syllogism-4-meta {α} {β} {γ} {δ} Tα=>β=>γ Tγ=>δ = | |
MP Tα=>β=>γ (MP (MP (MP (MP Tγ=>δ (A₂ (γ => δ) β)) (A₃ β γ δ)) (A₂ ((β => γ) => β => δ) α)) (A₃ α (β => γ) (β => δ))) | |
-- BOT / NOT Eliminator | |
⊥-elim : Tautology (⊥ => α) | |
⊥-elim {α} = MP (MP (MP (MP (A₂ ⊥ ⊥) (A₃ ⊥ ⊥ ⊥)) (A₄ ⊥ ⊥)) (A₂ (⊥ => ⊥) (α => ⊥))) (A₄ α ⊥) | |
-- ⊥-elim : Tautology ((α => ⊥) => α => β) | |
-- ⊥-elim {α} {β} = MP (A₂ (α => ⊥) (β => ⊥)) | |
-- (MP (MP (A₄ β α) (A₂ (((β => ⊥) => α => ⊥) => α => β) (α => ⊥))) | |
-- (A₃ (α => ⊥) ((β => ⊥) => α => ⊥) (α => β))) | |
-- both : Tautology ((α => β) => (¬ α => β) => β) | |
-- both = {!!} | |
double-¬-intro : Tautology (α => ¬ ¬ α) | |
double-¬-intro = mp | |
double-¬-elim : Tautology (¬ ¬ α => α) | |
double-¬-elim {α} = t₃ | |
where | |
t₁ : Tautology ((α => ⊥) => ((α => ⊥) => ⊥) => ⊥) | |
t₁ = mp | |
t₂ : Tautology (((α => ⊥) => ((α => ⊥) => ⊥) => ⊥) => ((α => ⊥) => ⊥) => α) | |
t₂ = A₄ α (¬ ¬ α) | |
t₃ : Tautology (¬ ¬ α => α) | |
t₃ = MP t₁ t₂ | |
-- NOT Introduction | |
¬-intro : Tautology ((α => β) => ((α => ¬ β) => ¬ α)) | |
-- ¬-intro {α} {β} = MP (A₂ (α => β) (α => β => ⊥)) | |
-- (MP | |
-- (MP (MP (A₃ α β ⊥) (A₃ (α => β => ⊥) (α => β) (α => ⊥))) | |
-- (A₂ (((α => β => ⊥) => α => β) => (α => β => ⊥) => α => ⊥) (α => β))) | |
-- (A₃ (α => β) ((α => β => ⊥) => α => β) ((α => β => ⊥) => α => ⊥))) | |
¬-intro {α} {β} = t₉ | |
where | |
t₁ : Tautology | |
(((α => β) => ((α => β => ⊥) => α => β) => (α => β => ⊥) => α => ⊥) => | |
((α => β) => (α => β => ⊥) => α => β) => (α => β) => (α => β => ⊥) => α => ⊥) | |
t₁ = A₃ (α => β) ((α => β => ⊥) => α => β) ((α => β => ⊥) => α => ⊥) | |
t₂ : Tautology | |
((((α => β => ⊥) => α => β) => (α => β => ⊥) => α => ⊥) => | |
(α => β) => ((α => β => ⊥) => α => β) => (α => β => ⊥) => α => ⊥) | |
t₂ = A₂ (((α => β => ⊥) => α => β) => (α => β => ⊥) => α => ⊥) (α => β) | |
t₃ : Tautology | |
(((α => β => ⊥) => (α => β) => α => ⊥) => | |
((α => β => ⊥) => α => β) => (α => β => ⊥) => α => ⊥) | |
t₃ = A₃ (α => β => ⊥) (α => β) (α => ⊥) | |
t₄ : Tautology ((α => β => ⊥) => (α => β) => α => ⊥) | |
t₄ = A₃ α β ⊥ | |
t₅ : Tautology (((α => β => ⊥) => α => β) => (α => β => ⊥) => α => ⊥) | |
t₅ = MP t₄ t₃ | |
t₆ : Tautology | |
((α => β) => ((α => β => ⊥) => α => β) => (α => β => ⊥) => α => ⊥) | |
t₆ = MP t₅ t₂ | |
t₇ : Tautology | |
(((α => β) => (α => β => ⊥) => α => β) => | |
(α => β) => (α => β => ⊥) => α => ⊥) | |
t₇ = MP t₆ t₁ | |
t₈ : Tautology ((α => β) => (α => β => ⊥) => α => β) | |
t₈ = A₂ (α => β) (α => β => ⊥) | |
t₉ : Tautology ((α => β) => (α => β => ⊥) => α => ⊥) | |
t₉ = MP t₈ t₇ | |
-- ¬-elim : Tautology ((¬ α => β) => ((¬ α => ¬ β) => α)) | |
-- ¬-elim {α} {β} = {!!} | |
-- where | |
-- -- t₁ : {!!} | |
-- -- t₁ = {!!} | |
-- -- t₂ : {!!} | |
-- -- t₂ = {!!} | |
-- t₃ : {!!} | |
-- t₃ = {!¬-intro {¬ α} {β}!} | |
-- -- t₄ : {!!} | |
-- -- t₄ = {!!} | |
-- -- t₅ : {!!} | |
-- -- t₅ = {!!} | |
-- -- tₙ : {!!} | |
-- -- tₙ = {!!} | |
-- OR | |
-- ∨-commutative : Tautology (α ∨ β => β ∨ α) | |
-- ∨-commutative {α} {β} = {!!} | |
∨-left : Tautology (α => (α ∨ β)) | |
-- ∨-left {α} {β} = reorder-meta ⊥-elim | |
∨-left {α} {β} = syllogism-4-meta (mp {α} {⊥}) ⊥-elim | |
-- tₙ | |
-- where | |
-- t₁ : Tautology (((((α => ⊥) => β) => ⊥) => α => ⊥) => α => (α => ⊥) => β) | |
-- t₁ = A₄ ((α => ⊥) => β) α | |
-- t₂ : Tautology (((α => ⊥) => β) => α => (α => ⊥) => β) | |
-- t₂ = A₂ ((α => ⊥) => β) α | |
-- t₃ : Tautology (¬ (¬ α => β) => ¬ α) | |
-- -- t₃ : Tautology ((((α => ⊥) => β) => ⊥) => α => ⊥) | |
-- t₃ = {!!} | |
-- tₙ : Tautology (α => (α => ⊥) => β) | |
-- tₙ = MP t₃ t₁ | |
∨-right : Tautology (β => (α ∨ β)) | |
∨-right {β} {α} = A₂ β (α => ⊥) | |
-- ∨-elim : Tautology ((α => γ) => (β => γ) => (α ∨ β) => γ) | |
-- -- ∨-elim : Tautology ((α ∨ β) => (α => γ) => (β => γ) => γ) | |
-- ∨-elim = {!!} | |
-- AND | |
-- α => ⊥/¬ a | |
-- ∧-intro : Tautology (α => β => ¬(¬ α ∨ ¬ β)) | |
∧-intro-meta : Tautology α → Tautology β → Tautology (α ∧ β) | |
-- ∧-intro-meta {α} {β} Tα Tβ = | |
-- MP (MP Tα (A₂ α (((α => ⊥) => ⊥) => β => ⊥))) | |
-- (MP (MP Tβ (reorder-meta (A₄ (α => ⊥) β))) | |
-- (A₃ (((α => ⊥) => ⊥) => β => ⊥) α ⊥)) | |
∧-intro-meta {α} {β} Tα Tβ = t₇ | |
where | |
-- t₁ : | |
-- (((((α => ⊥) => ⊥) => β => ⊥) => α => ⊥) => | |
-- ((((α => ⊥) => ⊥) => β => ⊥) => α) => | |
-- (((α => ⊥) => ⊥) => β => ⊥) => ⊥) | |
-- t₁ = A₃ (((α => ⊥) => ⊥) => β => ⊥) α ⊥ | |
t₁ : Tautology (((¬ ¬ α => ¬ β) => ¬ α) => ((¬ ¬ α => ¬ β) => α) => ¬ (¬ ¬ α => ¬ β)) | |
t₁ = A₃ (¬ ¬ α => ¬ β) α ⊥ | |
t₂ : Tautology (β => (((α => ⊥) => ⊥) => β => ⊥) => α => ⊥) | |
t₂ = reorder-meta (A₄ (α => ⊥) β) | |
t₃ : Tautology (α => (((α => ⊥) => ⊥) => β => ⊥) => α) | |
t₃ = A₂ α (((α => ⊥) => ⊥) => β => ⊥) | |
t₄ : Tautology ((((α => ⊥) => ⊥) => β => ⊥) => α => ⊥) | |
t₄ = MP Tβ t₂ | |
t₅ : Tautology (((((α => ⊥) => ⊥) => β => ⊥) => α) => (((α => ⊥) => ⊥) => β => ⊥) => ⊥) | |
t₅ = MP t₄ t₁ | |
t₆ : Tautology ((((α => ⊥) => ⊥) => β => ⊥) => α) | |
t₆ = MP Tα t₃ | |
t₇ : Tautology ((((α => ⊥) => ⊥) => β => ⊥) => ⊥) | |
t₇ = MP t₆ t₅ | |
∧-intro : Tautology (α => β => (α ∧ β)) | |
∧-intro {α} {β} = t₇ | |
where | |
tβ : Tautology (β => β) | |
tβ = A₁ β | |
t₁ : Tautology (β => ((¬ ¬ α => ¬ β) => ¬ α) => ((¬ ¬ α => ¬ β) => α) => ¬ (¬ ¬ α => ¬ β)) | |
t₁ = MP (A₃ (¬ ¬ α => ¬ β) α ⊥) (A₂ _ _) | |
t₂ : Tautology (β => β => (¬ ¬ α => ¬ β) => ¬ α) | |
t₂ = MP (reorder-meta (A₄ (¬ α) β)) (A₂ _ _) | |
t₃'' : Tautology (β => α => (¬ ¬ α => ¬ β) => α) | |
t₃'' = MP (A₂ α ((¬ (¬ α)) => ¬ β)) (A₂ _ _) | |
t₄ : Tautology (β => (¬ ¬ α => ¬ β) => ¬ α) | |
t₄ = MP tβ (MP t₂ (A₃ _ _ _)) | |
t₅'' : Tautology (β => ((¬ ¬ α => ¬ β) => α) => ¬ (¬ ¬ α => ¬ β)) | |
t₅'' = MP t₄ (MP t₁ (A₃ _ _ _)) | |
-- α => | |
tα : Tautology (α => β => α) | |
tα = A₂ α β | |
tβ' : Tautology (α => β => β) | |
tβ' = MP tβ (A₂ _ _) | |
t₃' : Tautology ((β => α) => β => (¬ ¬ α => ¬ β) => α) | |
t₃' = MP t₃'' (A₃ _ _ _) | |
t₃ : Tautology (α => (β => α) => β => (¬ ¬ α => ¬ β) => α) | |
t₃ = MP t₃' (A₂ _ _) | |
-- t₃ = MP | |
-- (MP | |
-- (MP (A₂ α (((α => ⊥) => ⊥) => β => ⊥)) | |
-- (A₂ (α => (((α => ⊥) => ⊥) => β => ⊥) => α) β)) | |
-- (A₃ β α ((((α => ⊥) => ⊥) => β => ⊥) => α))) | |
-- (A₂ ((β => α) => β => (((α => ⊥) => ⊥) => β => ⊥) => α) α) | |
t₅' : Tautology ((β => (((α => ⊥) => ⊥) => β => ⊥) => α) => β => (((α => ⊥) => ⊥) => β => ⊥) => ⊥) | |
t₅' = MP t₅'' (A₃ _ _ _) | |
t₅ : Tautology (α => (β => (¬ ¬ α => ¬ β) => α) => β => ¬ (¬ ¬ α => ¬ β)) | |
t₅ = MP t₅' (A₂ _ _) | |
t₆ : Tautology (α => β => (¬ ¬ α => ¬ β) => α) | |
t₆ = MP tα (MP t₃ (A₃ _ _ _)) | |
t₇ : Tautology (α => β => ¬ ((¬ (¬ α)) => ¬ β)) | |
t₇ = MP t₆ (MP t₅ (A₃ α (β => ((¬ ¬ α => ¬ β) => α)) (β => (¬ (¬ ¬ α => ¬ β))))) | |
-- ∧-left : Tautology ((α ∧ β) => α) | |
-- ∧-left = {!!} | |
-- ∧-right : Tautology ((α ∧ β) => β) | |
-- ∧-right = {!!} | |
-- test : Tautology () | |
-- test = {!!} | |
-- where | |
-- t₁ : {!!} | |
-- t₁ = {!!} | |
-- t₂ : {!!} | |
-- t₂ = {!!} | |
-- t₃ : {!!} | |
-- t₃ = {!!} | |
-- t₄ : {!!} | |
-- t₄ = {!!} | |
-- t₅ : {!!} | |
-- t₅ = {!!} | |
-- tₙ : {!!} | |
-- tₙ = {!!} | |
-- Random | |
test : Tautology (α => β => β => α) | |
test {α} {β} = insert-meta β (A₂ α β) | |
-- MP | |
-- (A₂ α β) | |
-- (MP | |
-- (MP | |
-- (A₂ (β => α) β) | |
-- (A₂ ((β => α) => β => β => α) α) | |
-- ) | |
-- (A₃ α (β => α) (β => β => α)) | |
-- ) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment