Step
*
of Lemma
lattice-extend-wc-meet
No Annotations
∀[T:Type]. ∀[eq:EqDecider(T)]. ∀[Cs:T ⟶ fset(fset(T))]. ∀[L:BoundedDistributiveLattice]. ∀[eqL:EqDecider(Point(L))].
∀[f:T ⟶ Point(L)].
∀[a,b:Point(free-dist-lattice-with-constraints(T;eq;x.Cs[x]))].
lattice-extend-wc(L;eq;eqL;f;a) ∧ lattice-extend-wc(L;eq;eqL;f;b) ≤ lattice-extend-wc(L;eq;eqL;f;a ∧ b)
supposing ∀x:T. ∀c:fset(T). (c ∈ Cs[x]
⇒ (/\(f"(c)) = 0 ∈ Point(L)))
BY
{ (Auto
THEN (RWO "free-dlwc-meet" 0 THENA Auto)
THEN Unfold `lattice-extend-wc` 0
THEN Unfold `lattice-extend` 0
THEN Fold `lattice-extend\'` 0
THEN All (RWO "free-dlwc-point")
THEN Auto
THEN (Using [`b',
⌜lattice-extend'(L;eq;eqL;f;f-union(deq-fset(eq);deq-fset(eq);a;as.λbs.as ⋃ bs"(b) s.t. λs....))⌝
] (BLemma `lattice-le_transitivity`)⋅
THENA Auto
)) }
1
1. T : Type
2. eq : EqDecider(T)
3. Cs : T ⟶ fset(fset(T))
4. L : BoundedDistributiveLattice
5. eqL : EqDecider(Point(L))
6. f : T ⟶ Point(L)
7. ∀x:T. ∀c:fset(T). (c ∈ Cs[x]
⇒ (/\(f"(c)) = 0 ∈ Point(L)))
8. a : {ac:fset(fset(T))| (↑fset-antichain(eq;ac)) ∧ fset-all(ac;a.fset-contains-none(eq;a;x.Cs[x]))}
9. b : {ac:fset(fset(T))| (↑fset-antichain(eq;ac)) ∧ fset-all(ac;a.fset-contains-none(eq;a;x.Cs[x]))}
⊢ lattice-extend'(L;eq;eqL;f;f-union(deq-fset(eq);deq-fset(eq);a;as.λbs.as ⋃ bs"(b) s.t. λs....))
≤ lattice-extend'(L;eq;eqL;f;glb(λs.fset-contains-none(eq;s;x.Cs[x]);a;b))
2
1. T : Type
2. eq : EqDecider(T)
3. Cs : T ⟶ fset(fset(T))
4. L : BoundedDistributiveLattice
5. eqL : EqDecider(Point(L))
6. f : T ⟶ Point(L)
7. ∀x:T. ∀c:fset(T). (c ∈ Cs[x]
⇒ (/\(f"(c)) = 0 ∈ Point(L)))
8. a : {ac:fset(fset(T))| (↑fset-antichain(eq;ac)) ∧ fset-all(ac;a.fset-contains-none(eq;a;x.Cs[x]))}
9. b : {ac:fset(fset(T))| (↑fset-antichain(eq;ac)) ∧ fset-all(ac;a.fset-contains-none(eq;a;x.Cs[x]))}
⊢ lattice-extend'(L;eq;eqL;f;a) ∧ lattice-extend'(L;eq;eqL;f;b)
≤ lattice-extend'(L;eq;eqL;f;f-union(deq-fset(eq);deq-fset(eq);a;as.λbs.as ⋃ bs"(b) s.t. λs....))
Latex:
Latex:
No Annotations
\mforall{}[T:Type]. \mforall{}[eq:EqDecider(T)]. \mforall{}[Cs:T {}\mrightarrow{} fset(fset(T))]. \mforall{}[L:BoundedDistributiveLattice].
\mforall{}[eqL:EqDecider(Point(L))]. \mforall{}[f:T {}\mrightarrow{} Point(L)].
\mforall{}[a,b:Point(free-dist-lattice-with-constraints(T;eq;x.Cs[x]))].
lattice-extend-wc(L;eq;eqL;f;a) \mwedge{} lattice-extend-wc(L;eq;eqL;f;b)
\mleq{} lattice-extend-wc(L;eq;eqL;f;a \mwedge{} b)
supposing \mforall{}x:T. \mforall{}c:fset(T). (c \mmember{} Cs[x] {}\mRightarrow{} (/\mbackslash{}(f"(c)) = 0))
By
Latex:
(Auto
THEN (RWO "free-dlwc-meet" 0 THENA Auto)
THEN Unfold `lattice-extend-wc` 0
THEN Unfold `lattice-extend` 0
THEN Fold `lattice-extend\mbackslash{}'` 0
THEN All (RWO "free-dlwc-point")
THEN Auto
THEN (Using [`b',
...] (BLemma `lattice-le\_transitivity`)\mcdot{}
THENA Auto
))
Home
Index