Theorems · Definition · combinatorics
List.Vector.revInductionOn
{α : Type u_1} →
{C : {n : ℕ} → List.Vector α n → Sort u_5} →
{n : ℕ} →
(v : List.Vector α n) →
C List.Vector.nil → ({n : ℕ} → (xs : List.Vector α n) → (x : α) → C xs → C (xs.snoc x)) → C vDefine C v by reverse induction on v : Vector α n.
That is, break the vector down starting from the right-most element, using snoc
This function has two arguments: nil handles the base case on C nil,
and snoc defines the inductive step using ∀ x : α, C xs → C (xs.snoc x).
This can be used as induction v using Vector.revInductionOn.
- Defined in
- Mathlib.Data.Vector.Snoc
- Cited by
- 6 results in Mathlib
- Foundations
- Depth 18 from the axioms · uses propext
Around this declaration
Dashed lines are statement dependencies; solid lines are citations in proofs.
Cites5
Mathlib declarations this one mentions in its statement or cites explicitly in its proof. Plumbing is filtered out.
- List.Vectorstatement and proof · cited by 270
- List.Vector.nilstatement and proof · cited by 68
- List.Vector.snocstatement and proof · cited by 30
- List.Vector.inductionOnproof · cited by 10
- List.Vector.reverseproof · cited by 5
Cited by7
Results whose statement or proof uses this declaration.
- List.Vector.mapAccumr_bisimproof · cited by 1
- List.Vector.map_eq_mapAccumrproof · cited by 1
- List.Vector.mapAccumr_mapproof · cited by 0
- List.Vector.mapAccumr_mapAccumrproof · cited by 0
- List.Vector.mapAccumr_eq_map_of_constant_stateproof · cited by 0
- List.Vector.revCasesOnproof · cited by 0
- List.Vector.map_mapAccumrproof · cited by 0