Nuprl Lemma : merge-strict-exists

[T:Type]. ∀[R:T ⟶ T ⟶ ℙ].
  (Trans(T;a,b.R b)
   (∀sa,sb:T List.
        ((∀a,b:T.  ((a ∈ sa)  (b ∈ sb)  ((R b) ∨ (R a))))
         sorted-by(R;sa)
         sorted-by(R;sb)
         (∃sc:T List. (sorted-by(R;sc) ∧ sa ⊆ sc ∧ sb ⊆ sc ∧ sc ⊆ sa sb)))))


Proof




Definitions occuring in Statement :  sorted-by: sorted-by(R;L) l_contains: A ⊆ B l_member: (x ∈ l) append: as bs list: List trans: Trans(T;x,y.E[x; y]) uall: [x:A]. B[x] prop: all: x:A. B[x] exists: x:A. B[x] implies:  Q or: P ∨ Q and: P ∧ Q apply: a function: x:A ⟶ B[x] universe: Type
Definitions unfolded in proof :  uall: [x:A]. B[x] implies:  Q all: x:A. B[x] member: t ∈ T so_lambda: λ2x.t[x] prop: or: P ∨ Q so_apply: x[s] subtype_rel: A ⊆B uimplies: supposing a and: P ∧ Q exists: x:A. B[x] cand: c∧ B top: Top so_lambda: λ2y.t[x; y] so_apply: x[s1;s2] iff: ⇐⇒ Q rev_implies:  Q guard: {T} l_all: (∀x∈L.P[x]) l_contains: A ⊆ B int_seg: {i..j-} lelt: i ≤ j < k decidable: Dec(P) satisfiable_int_formula: satisfiable_int_formula(fmla) false: False not: ¬A less_than: a < b squash: T l_member: (x ∈ l) nat: le: A ≤ B ge: i ≥  trans: Trans(T;x,y.E[x; y]) append: as bs so_lambda: so_lambda(x,y,z.t[x; y; z]) so_apply: x[s1;s2;s3]
Lemmas referenced :  list_induction all_wf list_wf l_member_wf or_wf sorted-by_wf subtype_rel_dep_function subtype_rel_self set_wf exists_wf l_contains_wf append_wf l_contains_nil l_contains_weakening nil-append nil_wf sorted-by_wf_nil trans_wf cons_wf append_back_nil cons_member equal_wf sorted-by-cons l_all_wf2 member_append select_wf int_seg_properties length_wf decidable__le satisfiable-full-omega-tt intformand_wf intformnot_wf intformle_wf itermConstant_wf itermVar_wf int_formula_prop_and_lemma int_formula_prop_not_lemma int_formula_prop_le_lemma int_term_value_constant_lemma int_term_value_var_lemma int_formula_prop_wf decidable__lt intformless_wf int_formula_prop_less_lemma int_seg_wf lelt_wf and_wf iff_weakening_equal nat_properties l_contains_cons cons-l_contains list_ind_cons_lemma l_all_iff
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation lambdaFormation cut thin introduction extract_by_obid sqequalHypSubstitution isectElimination hypothesisEquality sqequalRule lambdaEquality cumulativity hypothesis functionEquality because_Cache applyEquality functionExtensionality instantiate universeEquality setEquality independent_isectElimination setElimination rename productEquality independent_functionElimination dependent_pairFormation independent_pairFormation dependent_functionElimination isect_memberEquality voidElimination voidEquality productElimination inlFormation unionElimination inrFormation addLevel impliesFunctionality levelHypothesis promote_hyp natural_numberEquality int_eqEquality intEquality computeAll imageElimination impliesLevelFunctionality dependent_set_memberEquality equalitySymmetry equalityTransitivity hyp_replacement Error :applyLambdaEquality

Latex:
\mforall{}[T:Type].  \mforall{}[R:T  {}\mrightarrow{}  T  {}\mrightarrow{}  \mBbbP{}].
    (Trans(T;a,b.R  a  b)
    {}\mRightarrow{}  (\mforall{}sa,sb:T  List.
                ((\mforall{}a,b:T.    ((a  \mmember{}  sa)  {}\mRightarrow{}  (b  \mmember{}  sb)  {}\mRightarrow{}  ((R  a  b)  \mvee{}  (R  b  a))))
                {}\mRightarrow{}  sorted-by(R;sa)
                {}\mRightarrow{}  sorted-by(R;sb)
                {}\mRightarrow{}  (\mexists{}sc:T  List.  (sorted-by(R;sc)  \mwedge{}  sa  \msubseteq{}  sc  \mwedge{}  sb  \msubseteq{}  sc  \mwedge{}  sc  \msubseteq{}  sa  @  sb)))))



Date html generated: 2016_10_25-AM-10_48_44
Last ObjectModification: 2016_07_12-AM-06_59_55

Theory : general


Home Index