Step
*
1
1
2
1
1
1
1
of Lemma
free-DeMorgan-algebra-property
.....wf..... 
1. T : Type@i'
2. eq : EqDecider(T)@i
3. dm : DeMorganAlgebra@i'
4. eq2 : EqDecider(Point(dm))@i
5. f : T ⟶ Point(dm)@i
6. g : Hom(free-DeMorgan-lattice(T;eq);dm)
7. (λp.case p of inl(a) => f a | inr(a) => ¬(f a)) = (g o (λx.free-dl-inc(x))) ∈ ((T + T) ⟶ Point(dm))
8. ∀i:T. ((g <i>) = (f i) ∈ Point(dm))
9. ∀i:T. ((g <1-i>) = ¬(f i) ∈ Point(dm))
10. ∀h:Hom(free-DeMorgan-lattice(T;eq);dm)
      (((λp.case p of inl(a) => f a | inr(a) => ¬(f a)) = (g o (λx.free-dl-inc(x))) ∈ ((T + T) ⟶ Point(dm)))
      
⇒ ((λp.case p of inl(a) => f a | inr(a) => ¬(f a)) = (h o (λx.free-dl-inc(x))) ∈ ((T + T) ⟶ Point(dm)))
      
⇒ (g = h ∈ Hom(free-DeMorgan-lattice(T;eq);dm)))
⊢ λa.¬(g ¬(a)) ∈ Hom(free-DeMorgan-lattice(T;eq);dm)
BY
{ ((InstLemma `dm-neg-properties` [⌜T⌝;⌜eq⌝]⋅ THEN Auto)
   THEN (DVar `g' THEN MemTypeCD)
   THEN Reduce 0
   THEN Auto
   THEN Try ((RWO "-1 -2" 0 THEN Auto))) }
1
1. T : Type@i'
2. eq : EqDecider(T)@i
3. dm : DeMorganAlgebra@i'
4. eq2 : EqDecider(Point(dm))@i
5. f : T ⟶ Point(dm)@i
6. g : Hom(free-DeMorgan-lattice(T;eq);dm)
7. (g 0) = 0 ∈ Point(dm)
8. (g 1) = 1 ∈ Point(dm)
9. (λp.case p of inl(a) => f a | inr(a) => ¬(f a)) = (g o (λx.free-dl-inc(x))) ∈ ((T + T) ⟶ Point(dm))
10. ∀i:T. ((g <i>) = (f i) ∈ Point(dm))
11. ∀i:T. ((g <1-i>) = ¬(f i) ∈ Point(dm))
12. ∀h:Hom(free-DeMorgan-lattice(T;eq);dm)
      (((λp.case p of inl(a) => f a | inr(a) => ¬(f a)) = (g o (λx.free-dl-inc(x))) ∈ ((T + T) ⟶ Point(dm)))
      
⇒ ((λp.case p of inl(a) => f a | inr(a) => ¬(f a)) = (h o (λx.free-dl-inc(x))) ∈ ((T + T) ⟶ Point(dm)))
      
⇒ (g = h ∈ Hom(free-DeMorgan-lattice(T;eq);dm)))
13. ∀[x,y:Point(free-DeMorgan-lattice(T;eq))].  (¬(x ∧ y) = ¬(x) ∨ ¬(y) ∈ Point(free-DeMorgan-lattice(T;eq)))
14. ∀[x,y:Point(free-DeMorgan-lattice(T;eq))].  (¬(x ∨ y) = ¬(x) ∧ ¬(y) ∈ Point(free-DeMorgan-lattice(T;eq)))
15. ¬(0) = 1 ∈ Point(free-DeMorgan-lattice(T;eq))
16. ¬(1) = 0 ∈ Point(free-DeMorgan-lattice(T;eq))
⊢ λa.¬(g ¬(a)) ∈ Hom(free-DeMorgan-lattice(T;eq);dm)
Latex:
Latex:
.....wf..... 
1.  T  :  Type@i'
2.  eq  :  EqDecider(T)@i
3.  dm  :  DeMorganAlgebra@i'
4.  eq2  :  EqDecider(Point(dm))@i
5.  f  :  T  {}\mrightarrow{}  Point(dm)@i
6.  g  :  Hom(free-DeMorgan-lattice(T;eq);dm)
7.  (\mlambda{}p.case  p  of  inl(a)  =>  f  a  |  inr(a)  =>  \mneg{}(f  a))  =  (g  o  (\mlambda{}x.free-dl-inc(x)))
8.  \mforall{}i:T.  ((g  <i>)  =  (f  i))
9.  \mforall{}i:T.  ((g  ə-i>)  =  \mneg{}(f  i))
10.  \mforall{}h:Hom(free-DeMorgan-lattice(T;eq);dm)
            (((\mlambda{}p.case  p  of  inl(a)  =>  f  a  |  inr(a)  =>  \mneg{}(f  a))  =  (g  o  (\mlambda{}x.free-dl-inc(x))))
            {}\mRightarrow{}  ((\mlambda{}p.case  p  of  inl(a)  =>  f  a  |  inr(a)  =>  \mneg{}(f  a))  =  (h  o  (\mlambda{}x.free-dl-inc(x))))
            {}\mRightarrow{}  (g  =  h))
\mvdash{}  \mlambda{}a.\mneg{}(g  \mneg{}(a))  \mmember{}  Hom(free-DeMorgan-lattice(T;eq);dm)
By
Latex:
((InstLemma  `dm-neg-properties`  [\mkleeneopen{}T\mkleeneclose{};\mkleeneopen{}eq\mkleeneclose{}]\mcdot{}  THEN  Auto)
  THEN  (DVar  `g'  THEN  MemTypeCD)
  THEN  Reduce  0
  THEN  Auto
  THEN  Try  ((RWO  "-1  -2"  0  THEN  Auto)))
Home
Index