Step
*
of Lemma
dm-neg-neg
∀[T:Type]. ∀[eq:EqDecider(T)]. ∀[x:Point(free-DeMorgan-lattice(T;eq))].
  (¬(¬(x)) = x ∈ Point(free-DeMorgan-lattice(T;eq)))
BY
{ (Auto
   THEN (InstLemma `free-dist-lattice-hom-unique` [⌜T + T⌝;⌜union-deq(T;T;eq;eq)⌝;⌜free-DeMorgan-lattice(T;eq)⌝;
         ⌜free-dml-deq(T;eq)⌝]⋅
         THENA Auto
         )
   THEN Unfold `free-DeMorgan-lattice` -1
   THEN (InstHyp [λz.free-dl-inc(z)] (-1)⋅ THENA Auto)
   THEN Thin (-2)) }
1
1. T : Type
2. eq : EqDecider(T)
3. x : Point(free-DeMorgan-lattice(T;eq))
4. ∀g,h:Hom(free-dist-lattice(T + T; union-deq(T;T;eq;eq));free-dist-lattice(T + T; union-deq(T;T;eq;eq))).
     (((λz.free-dl-inc(z))
      = (g o (λx.free-dl-inc(x)))
      ∈ ((T + T) ⟶ Point(free-dist-lattice(T + T; union-deq(T;T;eq;eq)))))
     
⇒ ((λz.free-dl-inc(z))
        = (h o (λx.free-dl-inc(x)))
        ∈ ((T + T) ⟶ Point(free-dist-lattice(T + T; union-deq(T;T;eq;eq)))))
     
⇒ (g = h ∈ Hom(free-dist-lattice(T + T; union-deq(T;T;eq;eq));free-dist-lattice(T + T; union-deq(T;T;eq;eq)))))
⊢ ¬(¬(x)) = x ∈ Point(free-DeMorgan-lattice(T;eq))
Latex:
Latex:
\mforall{}[T:Type].  \mforall{}[eq:EqDecider(T)].  \mforall{}[x:Point(free-DeMorgan-lattice(T;eq))].    (\mneg{}(\mneg{}(x))  =  x)
By
Latex:
(Auto
  THEN  (InstLemma  `free-dist-lattice-hom-unique`  [\mkleeneopen{}T  +  T\mkleeneclose{};\mkleeneopen{}union-deq(T;T;eq;eq)\mkleeneclose{};
              \mkleeneopen{}free-DeMorgan-lattice(T;eq)\mkleeneclose{};\mkleeneopen{}free-dml-deq(T;eq)\mkleeneclose{}]\mcdot{}
              THENA  Auto
              )
  THEN  Unfold  `free-DeMorgan-lattice`  -1
  THEN  (InstHyp  [\mlambda{}z.free-dl-inc(z)]  (-1)\mcdot{}  THENA  Auto)
  THEN  Thin  (-2))
Home
Index