Step
*
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])))
⊢ x = \/(λs.{s}"(x)) ∈ Point(free-dist-lattice-with-constraints(T;eq;x.Cs[x]))
BY
{ ((Assert ∀s:fset(T). (s ∈ x
⇒ ({s} ∈ Point(free-dist-lattice-with-constraints(T;eq;x.Cs[x])))) BY
((RWO "free-dlwc-point" 0 THEN Auto)
THEN MemTypeCD
THEN Auto
THEN (InstLemma `fset-all-iff` [⌜fset(T)⌝;⌜deq-fset(eq)⌝]⋅ THENA Auto)
THEN (RWO "-1" 6 THENA Auto)
THEN (RWO "-1" 0 THENA Auto)
THEN ParallelOp 6
THEN ParallelLast
THEN RWO "member-fset-singleton" (-1)
THEN Auto))
THEN (Assert λs.{s}"(x) ∈ fset(Point(free-dist-lattice-with-constraints(T;eq;x.Cs[x]))) BY
(GenConcl ⌜x = y ∈ fset({s:fset(T)| s ∈ x} )⌝⋅ THEN Try (BLemma `fset-subtype2`) THEN 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])))
⊢ 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])))
\mvdash{} x = \mbackslash{}/(\mlambda{}s.\{s\}"(x))
By
Latex:
((Assert \mforall{}s:fset(T). (s \mmember{} x {}\mRightarrow{} (\{s\} \mmember{} Point(free-dist-lattice-with-constraints(T;eq;x.Cs[x])))) BY
((RWO "free-dlwc-point" 0 THEN Auto)
THEN MemTypeCD
THEN Auto
THEN (InstLemma `fset-all-iff` [\mkleeneopen{}fset(T)\mkleeneclose{};\mkleeneopen{}deq-fset(eq)\mkleeneclose{}]\mcdot{} THENA Auto)
THEN (RWO "-1" 6 THENA Auto)
THEN (RWO "-1" 0 THENA Auto)
THEN ParallelOp 6
THEN ParallelLast
THEN RWO "member-fset-singleton" (-1)
THEN Auto))
THEN (Assert \mlambda{}s.\{s\}"(x) \mmember{} fset(Point(free-dist-lattice-with-constraints(T;eq;x.Cs[x]))) BY
(GenConcl \mkleeneopen{}x = y\mkleeneclose{}\mcdot{} THEN Try (BLemma `fset-subtype2`) THEN Auto))
)
Home
Index