Nuprl Lemma : prior-cases

[T:Type]
  ∀f:ℕ ⟶ (T Top). ∀n:ℕ.
    case prior(n;f)
     of inl(p) =>
     let m,x 
     in ((f m) (inl x) ∈ (T Top)) ∧ (∀k:{m 1..n-}. (¬↑isl(f k)))
     inr(q) =>
     ∀k:ℕn. (¬↑isl(f k))


Proof




Definitions occuring in Statement :  prior: prior(n;f) int_seg: {i..j-} nat: assert: b isl: isl(x) uall: [x:A]. B[x] top: Top all: x:A. B[x] not: ¬A and: P ∧ Q apply: a function: x:A ⟶ B[x] spread: spread def decide: case of inl(x) => s[x] inr(y) => t[y] inl: inl x union: left right add: m natural_number: $n universe: Type equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] all: x:A. B[x] prior: prior(n;f) so_lambda: λ2y.t[x; y] member: t ∈ T top: Top so_apply: x[s1;s2] ifthenelse: if then else fi  eq_int: (i =z j) btrue: tt not: ¬A implies:  Q false: False 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] prop: subtype_rel: A ⊆B le: A ≤ B less_than': less_than'(a;b) nat: decidable: Dec(P) or: P ∨ Q so_lambda: λ2x.t[x] so_apply: x[s] ge: i ≥  exposed-bfalse: exposed-bfalse bool: 𝔹 unit: Unit it: uiff: uiff(P;Q) bfalse: ff sq_type: SQType(T) bnot: ¬bb assert: b has-value: (a)↓ cand: c∧ B isl: isl(x) less_than: a < b
Lemmas referenced :  natrec-unroll 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 assert_wf isl_wf top_wf nat_wf int_seg_subtype_nat false_wf int_seg_wf prior_wf subtract_wf decidable__le intformnot_wf itermSubtract_wf int_formula_prop_not_lemma int_term_value_subtract_lemma le_wf unit_wf2 equal_wf all_wf not_wf itermAdd_wf int_term_value_add_lemma set_wf less_than_wf primrec-wf2 nat_properties eq_int_wf bool_wf eqtt_to_assert assert_of_eq_int intformeq_wf int_formula_prop_eq_lemma eqff_to_assert bool_cases_sqequal subtype_base_sq bool_subtype_base assert-bnot neg_assert_of_eq_int value-type-has-value int-value-type subtract-add-cancel decidable__lt lelt_wf int_subtype_base decidable__equal_int assert_elim and_wf bfalse_wf btrue_neq_bfalse
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation lambdaFormation cut thin sqequalRule introduction extract_by_obid sqequalHypSubstitution isectElimination isect_memberEquality voidElimination voidEquality hypothesis natural_numberEquality because_Cache hypothesisEquality setElimination rename productElimination independent_isectElimination dependent_pairFormation lambdaEquality int_eqEquality intEquality dependent_functionElimination independent_pairFormation computeAll independent_functionElimination cumulativity applyEquality functionExtensionality dependent_set_memberEquality unionElimination unionEquality productEquality inlEquality addEquality applyLambdaEquality equalityTransitivity equalitySymmetry functionEquality universeEquality equalityElimination promote_hyp instantiate callbyvalueReduce addLevel levelHypothesis independent_pairEquality axiomEquality

Latex:
\mforall{}[T:Type]
    \mforall{}f:\mBbbN{}  {}\mrightarrow{}  (T  +  Top).  \mforall{}n:\mBbbN{}.
        case  prior(n;f)
          of  inl(p)  =>
          let  m,x  =  p 
          in  ((f  m)  =  (inl  x))  \mwedge{}  (\mforall{}k:\{m  +  1..n\msupminus{}\}.  (\mneg{}\muparrow{}isl(f  k)))
          |  inr(q)  =>
          \mforall{}k:\mBbbN{}n.  (\mneg{}\muparrow{}isl(f  k))



Date html generated: 2017_10_01-AM-09_12_06
Last ObjectModification: 2017_07_26-PM-04_47_53

Theory : general


Home Index