Nuprl Lemma : ts-refinement-composition
∀ts1,ts2,ts3:transition-system{i:l}. ∀g:ts-type(ts3) ⟶ ts-type(ts2). ∀f:ts-type(ts2) ⟶ ts-type(ts1).
  (ts-refinement(ts1;ts2;f) 
⇒ ts-refinement(ts2;ts3;g) 
⇒ ts-refinement(ts1;ts3;f o g))
Proof
Definitions occuring in Statement : 
ts-refinement: ts-refinement(ts1;ts2;f)
, 
ts-type: ts-type(ts)
, 
transition-system: transition-system{i:l}
, 
compose: f o g
, 
all: ∀x:A. B[x]
, 
implies: P 
⇒ Q
, 
function: x:A ⟶ B[x]
Definitions unfolded in proof : 
all: ∀x:A. B[x]
, 
implies: P 
⇒ Q
, 
ts-refinement: ts-refinement(ts1;ts2;f)
, 
ts-reachable: ts-reachable(ts)
, 
and: P ∧ Q
, 
uall: ∀[x:A]. B[x]
, 
member: t ∈ T
, 
prop: ℙ
, 
guard: {T}
, 
compose: f o g
, 
cand: A c∧ B
, 
infix_ap: x f y
, 
subtype_rel: A ⊆r B
, 
exists: ∃x:A. B[x]
, 
squash: ↓T
, 
true: True
, 
uimplies: b supposing a
, 
iff: P 
⇐⇒ Q
, 
rev_implies: P 
⇐ Q
Lemmas referenced : 
rel-preserving-star-reachable, 
ts-type_wf, 
ts-init_wf, 
ts-rel_wf, 
ts-reachable_wf, 
subtype_rel_wf, 
ts-final_wf, 
ts-refinement_wf, 
transition-system_wf, 
rel_star_transitivity, 
ts-init_wf_reachable, 
rel_star_wf, 
rel_rel_star, 
equal_wf, 
squash_wf, 
true_wf, 
iff_weakening_equal
Rules used in proof : 
sqequalSubstitution, 
sqequalTransitivity, 
computationStep, 
sqequalReflexivity, 
lambdaFormation, 
sqequalHypSubstitution, 
cut, 
independent_pairFormation, 
introduction, 
extract_by_obid, 
isectElimination, 
thin, 
hypothesisEquality, 
hypothesis, 
dependent_functionElimination, 
independent_functionElimination, 
productElimination, 
because_Cache, 
sqequalRule, 
applyEquality, 
setElimination, 
rename, 
lambdaEquality, 
setEquality, 
universeEquality, 
cumulativity, 
functionExtensionality, 
functionEquality, 
dependent_set_memberEquality, 
equalityTransitivity, 
equalitySymmetry, 
dependent_pairFormation, 
imageElimination, 
natural_numberEquality, 
imageMemberEquality, 
baseClosed, 
independent_isectElimination, 
productEquality
Latex:
\mforall{}ts1,ts2,ts3:transition-system\{i:l\}.  \mforall{}g:ts-type(ts3)  {}\mrightarrow{}  ts-type(ts2).
\mforall{}f:ts-type(ts2)  {}\mrightarrow{}  ts-type(ts1).
    (ts-refinement(ts1;ts2;f)  {}\mRightarrow{}  ts-refinement(ts2;ts3;g)  {}\mRightarrow{}  ts-refinement(ts1;ts3;f  o  g))
Date html generated:
2018_05_21-PM-08_01_10
Last ObjectModification:
2017_07_26-PM-05_38_00
Theory : general
Home
Index