Step * 2 of Lemma mrec-label-cases


1. (Atom × ((Atom × ((Atom Atom Type) List)) List)) List
2. Atom
3. lbl Atom
4. 0 < ||mrec-spec(s;lbl;n)||
5. ↑isl(apply-alist(AtomDeq;s;n))
⊢ (lbl ∈ map(λp.(fst(p));outl(apply-alist(AtomDeq;s;n))))
BY
(Thin (-1)
   THEN MoveToConcl (-1)
   THEN RepUR ``mrec-spec`` 0
   THEN (GenConclTerm ⌜apply-alist(AtomDeq;s;n)⌝⋅ THENA Auto)
   THEN -2
   THEN Reduce 0) }

1
1. (Atom × ((Atom × ((Atom Atom Type) List)) List)) List
2. Atom
3. lbl Atom
4. (Atom × ((Atom Atom Type) List)) List
5. apply-alist(AtomDeq;s;n) (inl x) ∈ ((Atom × ((Atom Atom Type) List)) List?)
⊢ 0 < ||case apply-alist(AtomDeq;x;lbl) of inl(as) => as inr(_) => []||  (lbl ∈ map(λp.(fst(p));x))

2
1. (Atom × ((Atom × ((Atom Atom Type) List)) List)) List
2. Atom
3. lbl Atom
4. Unit
5. apply-alist(AtomDeq;s;n) (inr ) ∈ ((Atom × ((Atom Atom Type) List)) List?)
⊢ 0 <  (lbl ∈ map(λp.(fst(p));⊥))


Latex:


Latex:

1.  s  :  (Atom  \mtimes{}  ((Atom  \mtimes{}  ((Atom  +  Atom  +  Type)  List))  List))  List
2.  n  :  Atom
3.  lbl  :  Atom
4.  0  <  ||mrec-spec(s;lbl;n)||
5.  \muparrow{}isl(apply-alist(AtomDeq;s;n))
\mvdash{}  (lbl  \mmember{}  map(\mlambda{}p.(fst(p));outl(apply-alist(AtomDeq;s;n))))


By


Latex:
(Thin  (-1)
  THEN  MoveToConcl  (-1)
  THEN  RepUR  ``mrec-spec``  0
  THEN  (GenConclTerm  \mkleeneopen{}apply-alist(AtomDeq;s;n)\mkleeneclose{}\mcdot{}  THENA  Auto)
  THEN  D  -2
  THEN  Reduce  0)




Home Index