Nuprl Lemma : poss-maj-invariant

T:Type. ∀eq:EqDecider(T). ∀L:T List. ∀x:T.
  let n,z poss-maj(eq;L;x) 
  in ((count(eq z;L) count(λt.(¬b(eq t));L)) ≤ n)
     ∧ (∀y:T. ((¬↑(eq y))  (n ≤ (count(λt.(¬b(eq t));L) count(eq y;L)))))


Proof




Definitions occuring in Statement :  poss-maj: poss-maj(eq;L;x) count: count(P;L) list: List deq: EqDecider(T) bnot: ¬bb assert: b le: A ≤ B all: x:A. B[x] not: ¬A implies:  Q and: P ∧ Q apply: a lambda: λx.A[x] spread: spread def subtract: m universe: Type
Definitions unfolded in proof :  all: x:A. B[x] uall: [x:A]. B[x] member: t ∈ T guard: {T} int_seg: {i..j-} lelt: i ≤ j < k and: P ∧ Q uimplies: supposing a satisfiable_int_formula: satisfiable_int_formula(fmla) exists: x:A. B[x] false: False implies:  Q not: ¬A top: Top prop: decidable: Dec(P) or: P ∨ Q subtype_rel: A ⊆B le: A ≤ B less_than': less_than'(a;b) nat: ge: i ≥  less_than: a < b squash: T cons: [a b] assert: b ifthenelse: if then else fi  bfalse: ff iff: ⇐⇒ Q uiff: uiff(P;Q) rev_implies:  Q int_iseg: {i...j} cand: c∧ B so_lambda: λ2x.t[x] deq: EqDecider(T) so_apply: x[s] count: count(P;L) poss-maj: poss-maj(eq;L;x) list_accum: list_accum nil: [] it: subtract: m so_lambda: λ2y.t[x; y] so_apply: x[s1;s2] bool: 𝔹 unit: Unit btrue: tt eqof: eqof(d) sq_type: SQType(T) bnot: ¬bb int_upper: {i...} rev_uimplies: rev_uimplies(P;Q)
Lemmas referenced :  int_seg_properties satisfiable-full-omega-tt intformand_wf intformless_wf itermVar_wf itermConstant_wf intformle_wf int_formula_prop_and_lemma int_formula_prop_less_lemma int_term_value_var_lemma int_term_value_constant_lemma int_formula_prop_le_lemma int_formula_prop_wf int_seg_wf decidable__equal_int subtract_wf int_seg_subtype false_wf decidable__le intformnot_wf itermSubtract_wf intformeq_wf int_formula_prop_not_lemma int_term_value_subtract_lemma int_formula_prop_eq_lemma le_wf length_wf non_neg_length nat_properties decidable__lt lelt_wf less_than_wf decidable__assert null_wf list-cases product_subtype_list null_cons_lemma last-lemma-sq pos_length iff_transitivity not_wf equal-wf-T-base list_wf assert_wf bnot_wf assert_of_null iff_weakening_uiff assert_of_bnot firstn_wf length_firstn all_wf count_wf equal_wf set_wf primrec-wf2 nat_wf itermAdd_wf int_term_value_add_lemma length_wf_nat deq_wf reduce_nil_lemma last_wf list_accum_append subtype_rel_list top_wf list_accum_cons_lemma list_accum_nil_lemma poss-maj_wf bool_wf eqtt_to_assert safe-assert-deq eqff_to_assert bool_cases_sqequal subtype_base_sq bool_subtype_base assert-bnot eq_int_wf assert_of_eq_int neg_assert_of_eq_int int_upper_subtype_nat nequal-le-implies zero-add cons_wf nil_wf subtract-is-int-iff le_weakening2 int_upper_properties count-append count-single eqof_wf
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity lambdaFormation cut thin introduction extract_by_obid sqequalHypSubstitution isectElimination natural_numberEquality because_Cache hypothesisEquality hypothesis setElimination rename productElimination independent_isectElimination dependent_pairFormation lambdaEquality int_eqEquality intEquality dependent_functionElimination isect_memberEquality voidElimination voidEquality sqequalRule independent_pairFormation computeAll unionElimination addLevel applyEquality equalityTransitivity equalitySymmetry applyLambdaEquality levelHypothesis hypothesis_subsumption dependent_set_memberEquality cumulativity imageElimination independent_functionElimination promote_hyp baseClosed impliesFunctionality productEquality functionEquality addEquality universeEquality equalityElimination instantiate pointwiseFunctionality baseApply closedConclusion impliesLevelFunctionality hyp_replacement

Latex:
\mforall{}T:Type.  \mforall{}eq:EqDecider(T).  \mforall{}L:T  List.  \mforall{}x:T.
    let  n,z  =  poss-maj(eq;L;x) 
    in  ((count(eq  z;L)  -  count(\mlambda{}t.(\mneg{}\msubb{}(eq  z  t));L))  \mleq{}  n)
          \mwedge{}  (\mforall{}y:T.  ((\mneg{}\muparrow{}(eq  z  y))  {}\mRightarrow{}  (n  \mleq{}  (count(\mlambda{}t.(\mneg{}\msubb{}(eq  y  t));L)  -  count(eq  y;L)))))



Date html generated: 2017_04_17-AM-09_08_31
Last ObjectModification: 2017_02_27-PM-05_18_12

Theory : decidable!equality


Home Index