module A201602.AltArtemovS4 where
open import Relation.Binary.PropositionalEquality using (_β‘_ ; refl)
import A201602.AltArtemov as πβ
import A201602.S4 as S4
forget : πβ.Ty β S4.Ty
forget πβ.β₯ = S4.β₯
forget (A πβ.β B) = forget A S4.β forget B
forget (A πβ.β§ B) = forget A S4.β§ forget B
forget (A πβ.β¨ B) = forget A S4.β¨ forget B
forget (x πβ.βΆ A) = S4.β‘ forget A
πβ-drop : β{A} β πβ.β© A β πβ.Ty
πβ-drop {A} _ = A
S4-drop : β{A} β S4.β© A β S4.Ty
S4-drop {A} _ = A
tI : β{A} β forget (πβ-drop (πβ.PL.I {A})) β‘ S4-drop (S4.SKICombinators.I {forget A})
tI = refl
tIΒ² : β{A} β forget (πβ-drop (πβ.PLExamples.IΒ² {A})) β‘ S4-drop (S4.SKICombinators.IΒ² {forget A})
tIΒ² = refl
tK : β{A B} β forget (πβ-drop (πβ.PL.K {A} {B})) β‘ S4-drop (S4.SKICombinators.K {forget A} {forget B})
tK = refl
tKΒ² : β{A B} β forget (πβ-drop (πβ.PLExamples.KΒ² {A} {B})) β‘ S4-drop (S4.SKICombinators.KΒ² {forget A} {forget B})
tKΒ² = refl
tS : β{A B C} β forget (πβ-drop (πβ.PL.S {A} {B} {C})) β‘ S4-drop (S4.SKICombinators.S {forget A} {forget B} {forget C})
tS = refl
tSΒ² : β{A B C} β forget (πβ-drop (πβ.PLExamples.SΒ² {A} {B} {C})) β‘ S4-drop (S4.SKICombinators.SΒ² {forget A} {forget B} {forget C})
tSΒ² = refl
tE13 : β{A B} β forget (πβ-drop (πβ.Example1.E13 {A} {B})) β‘ S4-drop (S4.Example1.E13 {forget A} {forget B})
tE13 = refl
tE14 : β{x y A B} β forget (πβ-drop (πβ.Example1.E14 {x} {y} {A} {B})) β‘ S4-drop (S4.Example1.E14 {forget A} {forget B})
tE14 = refl