Step * of Lemma Memory3-functional

[Info,A1,A2,A3,S:Type]. ∀[init:Id ⟶ S]. ∀[tr1:Id ⟶ A1 ⟶ S ⟶ S]. ∀[X1:EClass(A1)]. ∀[tr2:Id ⟶ A2 ⟶ S ⟶ S].
[X2:EClass(A2)]. ∀[tr3:Id ⟶ A3 ⟶ S ⟶ S]. ∀[X3:EClass(A3)].
  ∀es:EO+(Info)
    (single-valued-classrel(es;X1;A1)
     single-valued-classrel(es;X2;A2)
     single-valued-classrel(es;X3;A3)
     disjoint-classrel(es;A1;X1;A2;X2)
     disjoint-classrel(es;A1;X1;A3;X3)
     disjoint-classrel(es;A2;X2;A3;X3)
     Memory3(init;
               tr1;X1;
               tr2;X2;
               tr3;X3) is functional)
BY
(Auto
   THEN Try ((Fold `eclass` THEN Auto))
   THEN Unfold `Memory3` 0
   THEN (BLemma `Memory-loc-class-functional`  THEN Reduce 0)
   THEN Auto
   THEN ProveSingleVal) }


Latex:


Latex:
\mforall{}[Info,A1,A2,A3,S:Type].  \mforall{}[init:Id  {}\mrightarrow{}  S].  \mforall{}[tr1:Id  {}\mrightarrow{}  A1  {}\mrightarrow{}  S  {}\mrightarrow{}  S].  \mforall{}[X1:EClass(A1)].  \mforall{}[tr2:Id
                                                                                                                                                                                          {}\mrightarrow{}  A2
                                                                                                                                                                                          {}\mrightarrow{}  S
                                                                                                                                                                                          {}\mrightarrow{}  S].
\mforall{}[X2:EClass(A2)].  \mforall{}[tr3:Id  {}\mrightarrow{}  A3  {}\mrightarrow{}  S  {}\mrightarrow{}  S].  \mforall{}[X3:EClass(A3)].
    \mforall{}es:EO+(Info)
        (single-valued-classrel(es;X1;A1)
        {}\mRightarrow{}  single-valued-classrel(es;X2;A2)
        {}\mRightarrow{}  single-valued-classrel(es;X3;A3)
        {}\mRightarrow{}  disjoint-classrel(es;A1;X1;A2;X2)
        {}\mRightarrow{}  disjoint-classrel(es;A1;X1;A3;X3)
        {}\mRightarrow{}  disjoint-classrel(es;A2;X2;A3;X3)
        {}\mRightarrow{}  Memory3(init;
                              tr1;X1;
                              tr2;X2;
                              tr3;X3)  is  functional)


By


Latex:
(Auto
  THEN  Try  ((Fold  `eclass`  0  THEN  Auto))
  THEN  Unfold  `Memory3`  0
  THEN  (BLemma  `Memory-loc-class-functional`    THEN  Reduce  0)
  THEN  Auto
  THEN  ProveSingleVal)




Home Index