{ [A:Type]. [p,q:DataflowProgram(A)]. [R:df-program-statetype(p)?
                                             df-program-statetype(q)?
                                             ].
    df-prog-equiv(A;p;q;s1,s2.R[s1;s2])   
    supposing df-program-type(q) = df-program-type(p) }

{ Proof }



Definitions occuring in Statement :  df-prog-equiv: df-prog-equiv(A;p;q;s1,s2.R[s1; s2]),  df-program-statetype: df-program-statetype(dfp),  df-program-type: df-program-type(dfp),  dataflow-program: DataflowProgram(A),  uimplies: b supposing a,  uall: [x:A]. B[x],  prop: ,  so_apply: x[s1;s2],  unit: Unit,  member: t  T,  function: x:A  B[x],  union: left + right,  universe: Type,  equal: s = t
Definitions :  tactic: Error :tactic,  set: {x:A| B[x]} ,  universe: Type,  equal: s = t,  member: t  T,  isect: x:A. B[x],  uimplies: b supposing a,  function: x:A  B[x],  unit: Unit,  df-program-statetype: df-program-statetype(dfp),  union: left + right,  prop: ,  uall: [x:A]. B[x],  dataflow-program: DataflowProgram(A),  df-prog-equiv: df-prog-equiv(A;p;q;s1,s2.R[s1; s2]),  so_apply: x[s1;s2],  apply: f a,  axiom: Ax,  df-program-type: df-program-type(dfp),  product: x:A  B[x],  all: x:A. B[x],  limited-type: LimitedType,  bool: ,  and: P  Q,  inl: inl x ,  df-program-state: df-program-state(dfp),  implies: P  Q,  spread: spread def,  df-program-in-state-ap': df-program-in-state-ap'(dfp;s;m),  bag: bag(T),  pair: <a, b>,  cand: A c B,  quotient: x,y:A//B[x; y],  list: type List,  permutation: permutation(T;L1;L2),  subtype: S  T,  fpf: a:A fp-> B[a],  subtype_rel: A r B,  uiff: uiff(P;Q),  less_than: a < b,  not: A,  ge: i  j ,  le: A  B,  strong-subtype: strong-subtype(A;B)
Lemmas :  subtype_rel_wf,  member_wf,  permutation_wf,  bag_wf,  df-program-in-state-ap'_wf,  df-program-type_wf,  df-program-statetype_wf,  dataflow-program_wf,  df-program-state_wf,  unit_wf

\mforall{}[A:Type].  \mforall{}[p,q:DataflowProgram(A)].
\mforall{}[R:df-program-statetype(p)?  {}\mrightarrow{}  df-program-statetype(q)?  {}\mrightarrow{}  \mBbbP{}].
    df-prog-equiv(A;p;q;s1,s2.R[s1;s2])  \mmember{}  \mBbbP{}  supposing  df-program-type(q)  =  df-program-type(p)


Date html generated: 2011_08_16-AM-09_36_31
Last ObjectModification: 2011_06_17-PM-01_18_25

Home Index