Step
*
1
of Lemma
state-class2-fun-eq
1. Info : Type
2. B : Type
3. A1 : Type
4. A2 : Type
5. init : Id ─→ B
6. tr1 : Id ─→ A1 ─→ B ─→ B
7. tr2 : Id ─→ A2 ─→ B ─→ B
8. X1 : EClass(A1)
9. X2 : EClass(A2)
10. es : EO+(Info)
11. e : E
12. single-valued-classrel(es;X2;A2)
13. single-valued-classrel(es;X1;A1)
14. disjoint-classrel(es;A1;X1;A2;X2)
⊢ if e ∈b (tr1 o X1) || (tr2 o X2)
    then if first(e)
         then (tr1 o X1) || (tr2 o X2)@e (init loc(e))
         else (tr1 o X1) || (tr2 o X2)@e loop-class-state((tr1 o X1) || (tr2 o X2);λloc.{init loc})(pred(e))
         fi 
if first(e) then init loc(e)
else loop-class-state((tr1 o X1) || (tr2 o X2);λloc.{init loc})(pred(e))
fi 
= if e ∈b X1
    then if first(e)
         then tr1 loc(e) X1@e (init loc(e))
         else tr1 loc(e) X1@e state-class2(init;tr1;X1;tr2;X2)(pred(e))
         fi 
  if e ∈b X2
    then if first(e)
         then tr2 loc(e) X2@e (init loc(e))
         else tr2 loc(e) X2@e state-class2(init;tr1;X1;tr2;X2)(pred(e))
         fi 
  if first(e) then init loc(e)
  else state-class2(init;tr1;X1;tr2;X2)(pred(e))
  fi 
∈ B
BY
{ ((RWO "member-parallel-class-bool" 0 THENA Auto)
   THEN (RWO "member-eclass-eclass1" 0 THENA Auto)
   THEN Repeat (AutoSplit)
   THEN Try (Fold `state-class2` 0)) }
1
1. Info : Type
2. B : Type
3. A1 : Type
4. A2 : Type
5. init : Id ─→ B
6. tr1 : Id ─→ A1 ─→ B ─→ B
7. tr2 : Id ─→ A2 ─→ B ─→ B
8. X1 : EClass(A1)
9. X2 : EClass(A2)
10. es : EO+(Info)
11. e : E
12. single-valued-classrel(es;X2;A2)
13. single-valued-classrel(es;X1;A1)
14. disjoint-classrel(es;A1;X1;A2;X2)
15. ↑e ∈b X1
16. ↑first(e)
⊢ ((tr1 o X1) || (tr2 o X2)@e (init loc(e))) = (tr1 loc(e) X1@e (init loc(e))) ∈ B
2
1. Info : Type
2. B : Type
3. A1 : Type
4. A2 : Type
5. init : Id ─→ B
6. tr1 : Id ─→ A1 ─→ B ─→ B
7. tr2 : Id ─→ A2 ─→ B ─→ B
8. X1 : EClass(A1)
9. X2 : EClass(A2)
10. es : EO+(Info)
11. e : E
12. ¬↑first(e)
13. single-valued-classrel(es;X2;A2)
14. single-valued-classrel(es;X1;A1)
15. disjoint-classrel(es;A1;X1;A2;X2)
16. ↑e ∈b X1
⊢ ((tr1 o X1) || (tr2 o X2)@e state-class2(init;tr1;X1;tr2;X2)(pred(e)))
= (tr1 loc(e) X1@e state-class2(init;tr1;X1;tr2;X2)(pred(e)))
∈ B
3
1. Info : Type
2. B : Type
3. A1 : Type
4. A2 : Type
5. init : Id ─→ B
6. tr1 : Id ─→ A1 ─→ B ─→ B
7. tr2 : Id ─→ A2 ─→ B ─→ B
8. X1 : EClass(A1)
9. X2 : EClass(A2)
10. es : EO+(Info)
11. e : E
12. ¬↑e ∈b X1
13. single-valued-classrel(es;X2;A2)
14. single-valued-classrel(es;X1;A1)
15. disjoint-classrel(es;A1;X1;A2;X2)
16. ↑e ∈b X2
17. ↑first(e)
⊢ ((tr1 o X1) || (tr2 o X2)@e (init loc(e))) = (tr2 loc(e) X2@e (init loc(e))) ∈ B
4
1. Info : Type
2. B : Type
3. A1 : Type
4. A2 : Type
5. init : Id ─→ B
6. tr1 : Id ─→ A1 ─→ B ─→ B
7. tr2 : Id ─→ A2 ─→ B ─→ B
8. X1 : EClass(A1)
9. X2 : EClass(A2)
10. es : EO+(Info)
11. e : E
12. ¬↑first(e)
13. ¬↑e ∈b X1
14. single-valued-classrel(es;X2;A2)
15. single-valued-classrel(es;X1;A1)
16. disjoint-classrel(es;A1;X1;A2;X2)
17. ↑e ∈b X2
⊢ ((tr1 o X1) || (tr2 o X2)@e state-class2(init;tr1;X1;tr2;X2)(pred(e)))
= (tr2 loc(e) X2@e state-class2(init;tr1;X1;tr2;X2)(pred(e)))
∈ B
5
1. Info : Type
2. B : Type
3. A1 : Type
4. A2 : Type
5. init : Id ─→ B
6. tr1 : Id ─→ A1 ─→ B ─→ B
7. tr2 : Id ─→ A2 ─→ B ─→ B
8. X1 : EClass(A1)
9. X2 : EClass(A2)
10. es : EO+(Info)
11. e : E
12. ¬↑first(e)
13. ¬↑e ∈b X2
14. ¬↑e ∈b X1
15. single-valued-classrel(es;X2;A2)
16. single-valued-classrel(es;X1;A1)
17. disjoint-classrel(es;A1;X1;A2;X2)
⊢ state-class2(init;tr1;X1;tr2;X2)(pred(e)) = state-class2(init;tr1;X1;tr2;X2)(pred(e)) ∈ B
Latex:
Latex:
1.  Info  :  Type
2.  B  :  Type
3.  A1  :  Type
4.  A2  :  Type
5.  init  :  Id  {}\mrightarrow{}  B
6.  tr1  :  Id  {}\mrightarrow{}  A1  {}\mrightarrow{}  B  {}\mrightarrow{}  B
7.  tr2  :  Id  {}\mrightarrow{}  A2  {}\mrightarrow{}  B  {}\mrightarrow{}  B
8.  X1  :  EClass(A1)
9.  X2  :  EClass(A2)
10.  es  :  EO+(Info)
11.  e  :  E
12.  single-valued-classrel(es;X2;A2)
13.  single-valued-classrel(es;X1;A1)
14.  disjoint-classrel(es;A1;X1;A2;X2)
\mvdash{}  if  e  \mmember{}\msubb{}  (tr1  o  X1)  ||  (tr2  o  X2)
        then  if  first(e)
                  then  (tr1  o  X1)  ||  (tr2  o  X2)@e  (init  loc(e))
                  else  (tr1  o  X1)  ||  (tr2  o  X2)@e 
                            loop-class-state((tr1  o  X1)  ||  (tr2  o  X2);\mlambda{}loc.\{init  loc\})(pred(e))
                  fi 
if  first(e)  then  init  loc(e)
else  loop-class-state((tr1  o  X1)  ||  (tr2  o  X2);\mlambda{}loc.\{init  loc\})(pred(e))
fi 
=  if  e  \mmember{}\msubb{}  X1
        then  if  first(e)
                  then  tr1  loc(e)  X1@e  (init  loc(e))
                  else  tr1  loc(e)  X1@e  state-class2(init;tr1;X1;tr2;X2)(pred(e))
                  fi 
    if  e  \mmember{}\msubb{}  X2
        then  if  first(e)
                  then  tr2  loc(e)  X2@e  (init  loc(e))
                  else  tr2  loc(e)  X2@e  state-class2(init;tr1;X1;tr2;X2)(pred(e))
                  fi 
    if  first(e)  then  init  loc(e)
    else  state-class2(init;tr1;X1;tr2;X2)(pred(e))
    fi 
By
Latex:
((RWO  "member-parallel-class-bool"  0  THENA  Auto)
  THEN  (RWO  "member-eclass-eclass1"  0  THENA  Auto)
  THEN  Repeat  (AutoSplit)
  THEN  Try  (Fold  `state-class2`  0))
Home
Index