{ 
[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