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