Step
*
1
1
1
of Lemma
free-dlwc-basis
1. T : Type
2. eq : EqDecider(T)
3. Cs : T ⟶ fset(fset(T))
4. x : fset(fset(T))
5. ↑fset-antichain(eq;x)
6. fset-all(x;a.fset-contains-none(eq;a;x.Cs[x]))
7. x ∈ Point(free-dist-lattice-with-constraints(T;eq;x.Cs[x]))
8. deq-fset(deq-fset(eq)) ∈ EqDecider(Point(free-dist-lattice-with-constraints(T;eq;x.Cs[x])))
9. ∀s:fset(T). (s ∈ x 
⇒ ({s} ∈ Point(free-dist-lattice-with-constraints(T;eq;x.Cs[x]))))
10. λs.{s}"(x) ∈ fset(Point(free-dist-lattice-with-constraints(T;eq;x.Cs[x])))
⊢ x = \/(λs.{s}"(x)) ∈ Point(free-dist-lattice-with-constraints(T;eq;x.Cs[x]))
BY
{ ((InstLemma `lattice-fset-join-is-lub` [⌜free-dist-lattice-with-constraints(T;eq;x.Cs[x])⌝;⌜deq-fset(deq-fset(eq))⌝]⋅
    THENA Auto
    )
   THEN D -1
   THEN RepeatFor 2 (((InstHyp [⌜λs.{s}"(x)⌝] (-2)⋅ THENA Auto) THEN Thin (-3)))
   THEN (InstHyp [⌜x⌝] (-1)⋅ THENA Auto)) }
1
1. T : Type
2. eq : EqDecider(T)
3. Cs : T ⟶ fset(fset(T))
4. x : fset(fset(T))
5. ↑fset-antichain(eq;x)
6. fset-all(x;a.fset-contains-none(eq;a;x.Cs[x]))
7. x ∈ Point(free-dist-lattice-with-constraints(T;eq;x.Cs[x]))
8. deq-fset(deq-fset(eq)) ∈ EqDecider(Point(free-dist-lattice-with-constraints(T;eq;x.Cs[x])))
9. ∀s:fset(T). (s ∈ x 
⇒ ({s} ∈ Point(free-dist-lattice-with-constraints(T;eq;x.Cs[x]))))
10. λs.{s}"(x) ∈ fset(Point(free-dist-lattice-with-constraints(T;eq;x.Cs[x])))
11. ∀[x@0:Point(free-dist-lattice-with-constraints(T;eq;x.Cs[x]))]. x@0 ≤ \/(λs.{s}"(x)) supposing x@0 ∈ λs.{s}"(x)
12. ∀[u:Point(free-dist-lattice-with-constraints(T;eq;x.Cs[x]))]
      ((∀x@0:Point(free-dist-lattice-with-constraints(T;eq;x.Cs[x])). (x@0 ∈ λs.{s}"(x) 
⇒ x@0 ≤ u))
      
⇒ \/(λs.{s}"(x)) ≤ u)
13. x@0 : Point(free-dist-lattice-with-constraints(T;eq;x.Cs[x]))@i
14. x@0 ∈ λs.{s}"(x)
⊢ x@0 ≤ x
2
1. T : Type
2. eq : EqDecider(T)
3. Cs : T ⟶ fset(fset(T))
4. x : fset(fset(T))
5. ↑fset-antichain(eq;x)
6. fset-all(x;a.fset-contains-none(eq;a;x.Cs[x]))
7. x ∈ Point(free-dist-lattice-with-constraints(T;eq;x.Cs[x]))
8. deq-fset(deq-fset(eq)) ∈ EqDecider(Point(free-dist-lattice-with-constraints(T;eq;x.Cs[x])))
9. ∀s:fset(T). (s ∈ x 
⇒ ({s} ∈ Point(free-dist-lattice-with-constraints(T;eq;x.Cs[x]))))
10. λs.{s}"(x) ∈ fset(Point(free-dist-lattice-with-constraints(T;eq;x.Cs[x])))
11. ∀[x@0:Point(free-dist-lattice-with-constraints(T;eq;x.Cs[x]))]. x@0 ≤ \/(λs.{s}"(x)) supposing x@0 ∈ λs.{s}"(x)
12. ∀[u:Point(free-dist-lattice-with-constraints(T;eq;x.Cs[x]))]
      ((∀x@0:Point(free-dist-lattice-with-constraints(T;eq;x.Cs[x])). (x@0 ∈ λs.{s}"(x) 
⇒ x@0 ≤ u))
      
⇒ \/(λs.{s}"(x)) ≤ u)
13. \/(λs.{s}"(x)) ≤ x
⊢ x = \/(λs.{s}"(x)) ∈ Point(free-dist-lattice-with-constraints(T;eq;x.Cs[x]))
Latex:
Latex:
1.  T  :  Type
2.  eq  :  EqDecider(T)
3.  Cs  :  T  {}\mrightarrow{}  fset(fset(T))
4.  x  :  fset(fset(T))
5.  \muparrow{}fset-antichain(eq;x)
6.  fset-all(x;a.fset-contains-none(eq;a;x.Cs[x]))
7.  x  \mmember{}  Point(free-dist-lattice-with-constraints(T;eq;x.Cs[x]))
8.  deq-fset(deq-fset(eq))  \mmember{}  EqDecider(Point(free-dist-lattice-with-constraints(T;eq;x.Cs[x])))
9.  \mforall{}s:fset(T).  (s  \mmember{}  x  {}\mRightarrow{}  (\{s\}  \mmember{}  Point(free-dist-lattice-with-constraints(T;eq;x.Cs[x]))))
10.  \mlambda{}s.\{s\}"(x)  \mmember{}  fset(Point(free-dist-lattice-with-constraints(T;eq;x.Cs[x])))
\mvdash{}  x  =  \mbackslash{}/(\mlambda{}s.\{s\}"(x))
By
Latex:
((InstLemma  `lattice-fset-join-is-lub`  [\mkleeneopen{}free-dist-lattice-with-constraints(T;eq;x.Cs[x])\mkleeneclose{};
    \mkleeneopen{}deq-fset(deq-fset(eq))\mkleeneclose{}]\mcdot{}
    THENA  Auto
    )
  THEN  D  -1
  THEN  RepeatFor  2  (((InstHyp  [\mkleeneopen{}\mlambda{}s.\{s\}"(x)\mkleeneclose{}]  (-2)\mcdot{}  THENA  Auto)  THEN  Thin  (-3)))
  THEN  (InstHyp  [\mkleeneopen{}x\mkleeneclose{}]  (-1)\mcdot{}  THENA  Auto))
Home
Index