Nuprl Lemma : firstn_factor

T:Type. ∀as:T List. ∀n:{0...||as||}.  (firstn(n;as) (Π 0 ≤ i < n. [as[i]]) ∈ (T List))


Proof




Definitions occuring in Statement :  lapp_imon: <List,@> firstn: firstn(n;as) select: L[n] length: ||as|| cons: [a b] nil: [] list: List int_iseg: {i...j} all: x:A. B[x] natural_number: $n universe: Type equal: t ∈ T mon_itop: Π lb ≤ i < ub. E[i]
Definitions unfolded in proof :  all: x:A. B[x] uall: [x:A]. B[x] member: t ∈ T so_lambda: λ2x.t[x] int_iseg: {i...j} int_seg: {i..j-} uimplies: supposing a guard: {T} and: P ∧ Q lelt: i ≤ j < k decidable: Dec(P) or: P ∨ Q satisfiable_int_formula: satisfiable_int_formula(fmla) exists: x:A. B[x] false: False implies:  Q not: ¬A top: Top prop: le: A ≤ B subtype_rel: A ⊆B so_apply: x[s] firstn: firstn(n;as) so_lambda: so_lambda(x,y,z.t[x; y; z]) so_apply: x[s1;s2;s3] select: L[n] nil: [] it: so_lambda: λ2y.t[x; y] so_apply: x[s1;s2] cand: c∧ B sq_type: SQType(T) mon_itop: Π lb ≤ i < ub. E[i] itop: Π(op,id) lb ≤ i < ub. E[i] ycomb: Y ifthenelse: if then else fi  lt_int: i <j bfalse: ff grp_id: e pi1: fst(t) pi2: snd(t) lapp_imon: <List,@> bool: 𝔹 unit: Unit btrue: tt uiff: uiff(P;Q) true: True ge: i ≥  grp_car: |g| imon: IMonoid squash: T iff: ⇐⇒ Q rev_implies:  Q infix_ap: y grp_op: * append: as bs subtract: m
Lemmas referenced :  list_induction all_wf int_iseg_wf length_wf equal_wf list_wf firstn_wf mon_itop_wf lapp_imon_wf cons_wf select_wf int_seg_properties int_iseg_properties 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 nil_wf int_seg_wf length_of_nil_lemma list_ind_nil_lemma stuck-spread base_wf length_of_cons_lemma subtype_base_sq set_subtype_base le_wf int_subtype_base decidable__equal_int intformeq_wf int_formula_prop_eq_lemma lt_int_wf bool_wf assert_wf less_than_wf le_int_wf bnot_wf uiff_transitivity eqtt_to_assert assert_of_lt_int list_ind_cons_lemma eqff_to_assert assert_functionality_wrt_uiff bnot_of_lt_int assert_of_le_int subtract_wf itermSubtract_wf int_term_value_subtract_lemma add-is-int-iff itermAdd_wf int_term_value_add_lemma false_wf non_neg_length grp_car_wf imon_wf squash_wf true_wf iff_weakening_equal mon_itop_unroll_lo grp_op_wf select_cons_hd select_cons_tl mon_itop_shift minus-minus add-associates add-swap add-commutes zero-add
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity lambdaFormation cut thin introduction extract_by_obid sqequalHypSubstitution isectElimination hypothesisEquality sqequalRule lambdaEquality natural_numberEquality cumulativity hypothesis because_Cache setElimination rename dependent_functionElimination independent_isectElimination productElimination unionElimination dependent_pairFormation int_eqEquality intEquality isect_memberEquality voidElimination voidEquality independent_pairFormation computeAll applyEquality independent_functionElimination baseClosed addEquality universeEquality instantiate productEquality dependent_set_memberEquality equalityTransitivity equalitySymmetry equalityElimination pointwiseFunctionality promote_hyp baseApply closedConclusion imageElimination imageMemberEquality functionEquality minusEquality

Latex:
\mforall{}T:Type.  \mforall{}as:T  List.  \mforall{}n:\{0...||as||\}.    (firstn(n;as)  =  (\mPi{}  0  \mleq{}  i  <  n.  [as[i]]))



Date html generated: 2017_10_01-AM-09_57_32
Last ObjectModification: 2017_03_03-PM-00_59_25

Theory : list_2


Home Index