LeanMachineLearning exposition

Learning.pullCount_one๐Ÿ”—

This page has the declaration's own card below, then its dependency graph, then a card for each dependency (type dependencies first, then the rest of the transitive closure). For a theorem, the graph and the dependency cards only follow its statement's dependencies (its proof is replaced by sorry, so what it proves doesn't depend on how); for everything else, both the type and the body/value are followed, since their content is part of what later declarations build on.

Minimal Lean file

pullCount_one๐Ÿ”—

LemmaLearning.pullCount_one

No docstring.

๐Ÿ”—theorem
Learning.pullCount_one.{u_1, u_3} {๐“ : Type u_1} {ฮฉ : Type u_3} [DecidableEq ๐“] {A : โ„• โ†’ ฮฉ โ†’ ๐“} {a : ๐“} {ฯ‰ : ฮฉ} : pullCount A a 1 ฯ‰ = if A 0 ฯ‰ = a then 1 else 0
Learning.pullCount_one.{u_1, u_3} {๐“ : Type u_1} {ฮฉ : Type u_3} [DecidableEq ๐“] {A : โ„• โ†’ ฮฉ โ†’ ๐“} {a : ๐“} {ฯ‰ : ฮฉ} : pullCount A a 1 ฯ‰ = if A 0 ฯ‰ = a then 1 else 0

Code

lemma pullCount_one : pullCount A a 1 ฯ‰ = if A 0 ฯ‰ = a then 1 else 0
Type uses (1)
Used by (3)

Actions: Source ยท Open Issue

Proof
by
  simp only [pullCount, range_one]
  split_ifs with h
  ยท rw [card_eq_one]
    refine โŸจ0, by simp [h]โŸฉ
  ยท simp [h]

Dependency graph

Type dependencies (1)

pullCount๐Ÿ”—

DefinitionLearning.pullCount

Number of times action a was chosen up to time t (excluding t).

๐Ÿ”—def
Learning.pullCount.{u_1, u_3} {๐“ : Type u_1} {ฮฉ : Type u_3} [DecidableEq ๐“] (A : โ„• โ†’ ฮฉ โ†’ ๐“) (a : ๐“) (t : โ„•) (ฯ‰ : ฮฉ) : โ„•
Learning.pullCount.{u_1, u_3} {๐“ : Type u_1} {ฮฉ : Type u_3} [DecidableEq ๐“] (A : โ„• โ†’ ฮฉ โ†’ ๐“) (a : ๐“) (t : โ„•) (ฯ‰ : ฮฉ) : โ„•

Code

noncomputable
def pullCount (A : โ„• โ†’ ฮฉ โ†’ ๐“) (a : ๐“) (t : โ„•) (ฯ‰ : ฮฉ) : โ„• :=
  #(filter (fun s โ†ฆ A s ฯ‰ = a) (range t))
Used by (146)

Actions: Source ยท Open Issue