Nuprl Lemma : priority-select-property

[T:Type]
  ∀as:T List. ∀f,g:T ⟶ 𝔹.
    ((priority-select(f;g;as) (inl tt) ∈ (𝔹?) ⇐⇒ ∃i:ℕ||as||. ((↑(f as[i])) ∧ (∀j:ℕi. (¬↑(g as[j])))))
    ∧ (priority-select(f;g;as) (inl ff) ∈ (𝔹?) ⇐⇒ ∃i:ℕ||as||. ((↑(g as[i])) ∧ (∀j:ℕ1. (¬↑(f as[j])))))
    ∧ (priority-select(f;g;as) (inr ⋅ ) ∈ (𝔹?) ⇐⇒ ∀i:ℕ||as||. ((¬↑(f as[i])) ∧ (¬↑(g as[i])))))


Proof




Definitions occuring in Statement :  priority-select: priority-select(f;g;as) select: L[n] length: ||as|| list: List int_seg: {i..j-} assert: b bfalse: ff btrue: tt bool: 𝔹 it: uall: [x:A]. B[x] all: x:A. B[x] exists: x:A. B[x] iff: ⇐⇒ Q not: ¬A and: P ∧ Q unit: Unit apply: a function: x:A ⟶ B[x] inr: inr  inl: inl x union: left right add: m natural_number: $n universe: Type equal: t ∈ T
Definitions unfolded in proof :  so_apply: x[s1;s2] so_lambda: λ2y.t[x; y] it: nil: [] select: L[n] rev_implies:  Q iff: ⇐⇒ Q so_apply: x[s] squash: T less_than: a < b top: Top false: False exists: x:A. B[x] satisfiable_int_formula: satisfiable_int_formula(fmla) implies:  Q not: ¬A or: P ∨ Q decidable: Dec(P) lelt: i ≤ j < k guard: {T} uimplies: supposing a int_seg: {i..j-} and: P ∧ Q prop: so_lambda: λ2x.t[x] member: t ∈ T all: x:A. B[x] uall: [x:A]. B[x] isl: isl(x) cand: c∧ B priority-select: priority-select(f;g;as) uiff: uiff(P;Q) btrue: tt unit: Unit bool: 𝔹 exposed-bfalse: exposed-bfalse bfalse: ff ifthenelse: if then else fi  subtype_rel: A ⊆B sq_type: SQType(T) colength: colength(L) less_than': less_than'(a;b) le: A ≤ B cons: [a b] ge: i ≥  nat: true: True nat_plus: + assert: b outl: outl(x) subtract: m
Lemmas referenced :  istype-universe list_wf istype-assert priority-select_wf unit_wf2 length_of_cons_lemma istype-base stuck-spread length_of_nil_lemma int_term_value_add_lemma itermAdd_wf not_wf int_formula_prop_less_lemma intformless_wf decidable__lt int_formula_prop_wf int_term_value_var_lemma int_term_value_constant_lemma int_formula_prop_le_lemma int_formula_prop_not_lemma istype-void int_formula_prop_and_lemma istype-int itermVar_wf itermConstant_wf intformle_wf intformnot_wf intformand_wf full-omega-unsat decidable__le int_seg_properties select_wf assert_wf length_wf int_seg_wf exists_wf equal-wf-T-base iff_wf bool_wf all_wf list_induction it_wf btrue_neq_bfalse btrue_wf bfalse_wf list_accum_nil_lemma assert_of_bnot eqff_to_assert uiff_transitivity eqtt_to_assert list_accum_cons_lemma bnot_wf istype-nat le_wf int_term_value_subtract_lemma itermSubtract_wf subtract_wf decidable__equal_int spread_cons_lemma int_subtype_base set_subtype_base int_formula_prop_eq_lemma intformeq_wf subtype_base_sq subtract-1-ge-0 istype-le istype-false colength_wf_list colength-cons-not-zero product_subtype_list list-cases istype-less_than ge_wf nat_properties non_neg_length cons_wf select-cons-hd false_wf add-is-int-iff nat_plus_properties length_wf_nat add_nat_plus equal_wf outl_wf list_accum_wf ifthenelse_wf isl_wf zero-add add-commutes add-swap add-associates select-cons-tl add-member-int_seg2 select_cons_tl assert_functionality_wrt_uiff iff_weakening_uiff add-subtract-cancel subtract-add-cancel select-nthtl0 int_seg_subtype_nat subtype_rel_list top_wf select_cons_tl_sq2
Rules used in proof :  universeEquality instantiate equalitySymmetry sqequalBase unionIsType equalityIstype productIsType functionIsType inhabitedIsType addEquality baseClosed imageElimination universeIsType independent_pairFormation voidElimination isect_memberEquality_alt int_eqEquality dependent_pairFormation_alt independent_functionElimination approximateComputation unionElimination dependent_functionElimination productElimination independent_isectElimination rename setElimination applyEquality natural_numberEquality closedConclusion productEquality because_Cache hypothesis functionEquality lambdaEquality_alt sqequalRule hypothesisEquality isectElimination sqequalHypSubstitution extract_by_obid introduction thin cut lambdaFormation_alt isect_memberFormation_alt sqequalReflexivity computationStep sqequalTransitivity sqequalSubstitution inrEquality_alt applyLambdaEquality equalityTransitivity dependent_set_memberEquality_alt equalityElimination intEquality baseApply hypothesis_subsumption promote_hyp functionIsTypeImplies axiomSqEquality intWeakElimination inlEquality_alt pointwiseFunctionality imageMemberEquality unionEquality hyp_replacement cumulativity Error :memTop,  independent_pairEquality

Latex:
\mforall{}[T:Type]
    \mforall{}as:T  List.  \mforall{}f,g:T  {}\mrightarrow{}  \mBbbB{}.
        ((priority-select(f;g;as)  =  (inl  tt)  \mLeftarrow{}{}\mRightarrow{}  \mexists{}i:\mBbbN{}||as||.  ((\muparrow{}(f  as[i]))  \mwedge{}  (\mforall{}j:\mBbbN{}i.  (\mneg{}\muparrow{}(g  as[j])))))
        \mwedge{}  (priority-select(f;g;as)  =  (inl  ff)
            \mLeftarrow{}{}\mRightarrow{}  \mexists{}i:\mBbbN{}||as||.  ((\muparrow{}(g  as[i]))  \mwedge{}  (\mforall{}j:\mBbbN{}i  +  1.  (\mneg{}\muparrow{}(f  as[j])))))
        \mwedge{}  (priority-select(f;g;as)  =  (inr  \mcdot{}  )  \mLeftarrow{}{}\mRightarrow{}  \mforall{}i:\mBbbN{}||as||.  ((\mneg{}\muparrow{}(f  as[i]))  \mwedge{}  (\mneg{}\muparrow{}(g  as[i])))))



Date html generated: 2020_05_20-AM-08_07_00
Last ObjectModification: 2020_01_31-PM-02_51_23

Theory : general


Home Index