Step
*
9
2
of Lemma
free-dl_wf
1. X : Type
2. EquivRel(X List List;as,bs.dlattice-eq(X;as;bs))
3. ∀[a,b:free-dl-type(X)].  (free-dl-meet(a;b) = free-dl-meet(b;a) ∈ free-dl-type(X))
4. ∀[a,b:free-dl-type(X)].  (free-dl-join(a;b) = free-dl-join(b;a) ∈ free-dl-type(X))
5. ∀[a,b,c:free-dl-type(X)].  (free-dl-meet(a;free-dl-meet(b;c)) = free-dl-meet(free-dl-meet(a;b);c) ∈ free-dl-type(X))
6. ∀[a,b,c:free-dl-type(X)].  (free-dl-join(a;free-dl-join(b;c)) = free-dl-join(free-dl-join(a;b);c) ∈ free-dl-type(X))
7. ∀[a,b:free-dl-type(X)].  (free-dl-join(a;free-dl-meet(a;b)) = a ∈ free-dl-type(X))
8. ∀[a,b:free-dl-type(X)].  (free-dl-meet(a;free-dl-join(a;b)) = a ∈ free-dl-type(X))
9. a : free-dl-type(X)
⊢ free-dl-meet([[]];a) = a ∈ free-dl-type(X)
BY
{ ((newQuotientElim (-1) THENA Auto)
   THEN (Assert ⌜free-dl-meet([[]];as) = as ∈ (X List List)⌝⋅ THENM (EqTypeCD THEN Auto))
   ) }
1
.....assertion..... 
1. X : Type
2. EquivRel(X List List;as,bs.dlattice-eq(X;as;bs))
3. ∀[a,b:free-dl-type(X)].  (free-dl-meet(a;b) = free-dl-meet(b;a) ∈ free-dl-type(X))
4. ∀[a,b:free-dl-type(X)].  (free-dl-join(a;b) = free-dl-join(b;a) ∈ free-dl-type(X))
5. ∀[a,b,c:free-dl-type(X)].  (free-dl-meet(a;free-dl-meet(b;c)) = free-dl-meet(free-dl-meet(a;b);c) ∈ free-dl-type(X))
6. ∀[a,b,c:free-dl-type(X)].  (free-dl-join(a;free-dl-join(b;c)) = free-dl-join(free-dl-join(a;b);c) ∈ free-dl-type(X))
7. ∀[a,b:free-dl-type(X)].  (free-dl-join(a;free-dl-meet(a;b)) = a ∈ free-dl-type(X))
8. ∀[a,b:free-dl-type(X)].  (free-dl-meet(a;free-dl-join(a;b)) = a ∈ free-dl-type(X))
9. X List List ∈ Type
10. ∀as,bs:X List List.  (dlattice-eq(X;as;bs) ∈ Type)
11. ∀as:X List List. dlattice-eq(X;as;as)
12. as : X List List
13. bs : X List List
14. dlattice-eq(X;as;bs)
15. free-dl-type(X) = free-dl-type(X) ∈ Type
⊢ free-dl-meet([[]];as) = as ∈ (X List List)
Latex:
Latex:
1.  X  :  Type
2.  EquivRel(X  List  List;as,bs.dlattice-eq(X;as;bs))
3.  \mforall{}[a,b:free-dl-type(X)].    (free-dl-meet(a;b)  =  free-dl-meet(b;a))
4.  \mforall{}[a,b:free-dl-type(X)].    (free-dl-join(a;b)  =  free-dl-join(b;a))
5.  \mforall{}[a,b,c:free-dl-type(X)].
          (free-dl-meet(a;free-dl-meet(b;c))  =  free-dl-meet(free-dl-meet(a;b);c))
6.  \mforall{}[a,b,c:free-dl-type(X)].
          (free-dl-join(a;free-dl-join(b;c))  =  free-dl-join(free-dl-join(a;b);c))
7.  \mforall{}[a,b:free-dl-type(X)].    (free-dl-join(a;free-dl-meet(a;b))  =  a)
8.  \mforall{}[a,b:free-dl-type(X)].    (free-dl-meet(a;free-dl-join(a;b))  =  a)
9.  a  :  free-dl-type(X)
\mvdash{}  free-dl-meet([[]];a)  =  a
By
Latex:
((newQuotientElim  (-1)  THENA  Auto)
  THEN  (Assert  \mkleeneopen{}free-dl-meet([[]];as)  =  as\mkleeneclose{}\mcdot{}  THENM  (EqTypeCD  THEN  Auto))
  )
Home
Index