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