Nuprl Lemma : stream-lex-monotonic
∀T:Type
  ((∀x,y:T.  Dec(x = y ∈ T))
  ⇒ (∀R:T ⟶ T ⟶ ℙ
        (Trans(T;x,y.x R y)
        ⇒ AntiSym(T;x,y.x R y)
        ⇒ (∀f:T ⟶ T ⟶ T
              ((∀x,y,u,v:T.  ((x R y) ⇒ (u R v) ⇒ ((f x u) R (f y v))))
              ⇒ (∀x,y,u,v:T.  ((x R y) ⇒ (u R v) ⇒ (¬((x = y ∈ T) ∧ (u = v ∈ T))) ⇒ (¬((f x u) = (f y v) ∈ T))))
              ⇒ (∀a,b,c,d:stream(T).
                    ((a stream-lex(T;R) b)
                    ⇒ (c stream-lex(T;R) d)
                    ⇒ (stream-zip(f;a;c) stream-lex(T;R) stream-zip(f;b;d)))))))))
Proof
Definitions occuring in Statement : 
stream-lex: stream-lex(T;R), 
stream-zip: stream-zip(f;as;bs), 
stream: stream(A), 
anti_sym: AntiSym(T;x,y.R[x; y]), 
trans: Trans(T;x,y.E[x; y]), 
decidable: Dec(P), 
prop: ℙ, 
infix_ap: x f y, 
all: ∀x:A. B[x], 
not: ¬A, 
implies: P ⇒ Q, 
and: P ∧ Q, 
apply: f a, 
function: x:A ⟶ B[x], 
universe: Type, 
equal: s = t ∈ T
Definitions unfolded in proof : 
all: ∀x:A. B[x], 
implies: P ⇒ Q, 
uall: ∀[x:A]. B[x], 
member: t ∈ T, 
so_lambda: λ2x.t[x], 
prop: ℙ, 
and: P ∧ Q, 
subtype_rel: A ⊆r B, 
so_apply: x[s], 
rel-monotone: rel-monotone{i:l}(T;R.F[R]), 
rel_implies: R1 => R2, 
infix_ap: x f y, 
cand: A c∧ B, 
stream-lex: stream-lex(T;R), 
so_lambda: λ2x y.t[x; y], 
so_apply: x[s1;s2], 
guard: {T}, 
exists: ∃x:A. B[x], 
iff: P ⇐⇒ Q, 
top: Top, 
uimplies: b supposing a, 
decidable: Dec(P), 
or: P ∨ Q, 
not: ¬A, 
false: False
Lemmas referenced : 
implies-bigrel, 
infix_ap_wf, 
s-hd_wf, 
equal_wf, 
stream_wf, 
s-tl_wf, 
all_wf, 
stream-lex_wf, 
not_wf, 
anti_sym_wf, 
trans_wf, 
decidable_wf, 
exists_wf, 
stream-zip_wf, 
stream-lex-iff, 
stream-subtype, 
top_wf, 
hd-stream-zip, 
tl-stream-zip, 
member_wf
Rules used in proof : 
sqequalSubstitution, 
sqequalTransitivity, 
computationStep, 
sqequalReflexivity, 
lambdaFormation, 
cut, 
introduction, 
extract_by_obid, 
sqequalHypSubstitution, 
isectElimination, 
thin, 
because_Cache, 
dependent_functionElimination, 
sqequalRule, 
lambdaEquality, 
productEquality, 
instantiate, 
cumulativity, 
hypothesisEquality, 
universeEquality, 
functionExtensionality, 
applyEquality, 
hypothesis, 
functionEquality, 
independent_functionElimination, 
productElimination, 
independent_pairFormation, 
promote_hyp, 
equalitySymmetry, 
hyp_replacement, 
applyLambdaEquality, 
isect_memberEquality, 
voidElimination, 
voidEquality, 
independent_isectElimination, 
unionElimination, 
dependent_pairFormation
Latex:
\mforall{}T:Type
    ((\mforall{}x,y:T.    Dec(x  =  y))
    {}\mRightarrow{}  (\mforall{}R:T  {}\mrightarrow{}  T  {}\mrightarrow{}  \mBbbP{}
                (Trans(T;x,y.x  R  y)
                {}\mRightarrow{}  AntiSym(T;x,y.x  R  y)
                {}\mRightarrow{}  (\mforall{}f:T  {}\mrightarrow{}  T  {}\mrightarrow{}  T
                            ((\mforall{}x,y,u,v:T.    ((x  R  y)  {}\mRightarrow{}  (u  R  v)  {}\mRightarrow{}  ((f  x  u)  R  (f  y  v))))
                            {}\mRightarrow{}  (\mforall{}x,y,u,v:T.
                                        ((x  R  y)  {}\mRightarrow{}  (u  R  v)  {}\mRightarrow{}  (\mneg{}((x  =  y)  \mwedge{}  (u  =  v)))  {}\mRightarrow{}  (\mneg{}((f  x  u)  =  (f  y  v)))))
                            {}\mRightarrow{}  (\mforall{}a,b,c,d:stream(T).
                                        ((a  stream-lex(T;R)  b)
                                        {}\mRightarrow{}  (c  stream-lex(T;R)  d)
                                        {}\mRightarrow{}  (stream-zip(f;a;c)  stream-lex(T;R)  stream-zip(f;b;d)))))))))
Date html generated:
2017_04_14-AM-07_48_23
Last ObjectModification:
2017_02_27-PM-03_21_13
Theory : co-recursion
Home
Index