Step * 1 of Lemma state-class2-fun-eq


1. Info Type
2. 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
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 X1) || (tr2 X2)
    then if first(e)
         then (tr1 X1) || (tr2 X2)@e (init loc(e))
         else (tr1 X1) || (tr2 X2)@e loop-class-state((tr1 X1) || (tr2 X2);λloc.{init loc})(pred(e))
         fi 
if first(e) then init loc(e)
else loop-class-state((tr1 X1) || (tr2 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" THENA Auto)
   THEN (RWO "member-eclass-eclass1" THENA Auto)
   THEN Repeat (AutoSplit)
   THEN Try (Fold `state-class2` 0)) }

1
1. Info Type
2. 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
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 X1) || (tr2 X2)@e (init loc(e))) (tr1 loc(e) X1@e (init loc(e))) ∈ B

2
1. Info Type
2. 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
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 X1) || (tr2 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. 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
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 X1) || (tr2 X2)@e (init loc(e))) (tr2 loc(e) X2@e (init loc(e))) ∈ B

4
1. Info Type
2. 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
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 X1) || (tr2 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. 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
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