Step
*
4
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 : free-dl-type(X)
5. b : free-dl-type(X)
⊢ free-dl-join(a;b) = free-dl-join(b;a) ∈ free-dl-type(X)
BY
{ ((OnVar `a' newQuotientElim THENA Auto)
   THEN (OnVar `b' newQuotientElim THENA Auto)
   THEN EqTypeCD
   THEN Auto
   THEN RepUR ``free-dl-join`` 0
   THEN Auto) }
1
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. X List List ∈ Type
5. ∀as,bs:X List List.  (dlattice-eq(X;as;bs) ∈ Type)
6. ∀as:X List List. dlattice-eq(X;as;as)
7. X List List ∈ Type
8. ∀a1,b1:X List List.  (dlattice-eq(X;a1;b1) ∈ Type)
9. ∀a1:X List List. dlattice-eq(X;a1;a1)
10. as : X List List
11. bs : X List List
12. dlattice-eq(X;as;bs)
13. free-dl-type(X) = free-dl-type(X) ∈ Type
14. a1 : X List List
15. b1 : X List List
16. dlattice-eq(X;a1;b1)
17. free-dl-type(X) = free-dl-type(X) ∈ Type
⊢ dlattice-eq(X;as @ a1;b1 @ bs)
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.  a  :  free-dl-type(X)
5.  b  :  free-dl-type(X)
\mvdash{}  free-dl-join(a;b)  =  free-dl-join(b;a)
By
Latex:
((OnVar  `a'  newQuotientElim  THENA  Auto)
  THEN  (OnVar  `b'  newQuotientElim  THENA  Auto)
  THEN  EqTypeCD
  THEN  Auto
  THEN  RepUR  ``free-dl-join``  0
  THEN  Auto)
Home
Index