Lean module · Foundations
BanditRLProof.Algorithms.CausalHeterogeneous
Genuinely dependent node laws and their common-alphabet encoding.
Module map
Imports
BanditRLProof.Algorithms.CausalMarginalLaw
Imported by
BanditRLProof.Algorithms.CausalHeterogeneousLaw, BanditRLProof.Algorithms.CausalHeterogeneousSampling
Declarations
Open an item to read its exact compact statement and source link. Detailed teaching notes are linked when registered.
abbrev
BanditRLProof.Causal.NodeHistory
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.Causal.NodeHistoryReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
abbrev NodeHistory {n : ℕ} (V : Fin n → Type*) (i : Fin n)
abbrev
BanditRLProof.Causal.NodeTables
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.Causal.NodeTablesReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
abbrev NodeTables {n : ℕ} (V : Fin n → Type*)
def
BanditRLProof.Causal.NodeTables.prefix
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.Causal.NodeTables.prefixReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
def NodeTables.prefix {n : ℕ} {V : Fin (n+1) → Type*} (p : NodeTables V) : NodeTables (fun i : Fin n => V i.castSucc)
def
BanditRLProof.Causal.nodeJoint
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Indexed settings: Causal bandits
Canonical node identity
declaration:BanditRLProof.Causal.nodeJointReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
noncomputable def nodeJoint : {n : ℕ} → {V : Fin n → Type*} → NodeTables V → PMF ((i : Fin n) → V i) | 0, _, _ => PMF.pure (fun i => Fin.elim0 i) | n+1, _, p => (nodeJoint p.prefix).bind fun h => (p (Fin.last n) h).bind fun x => PMF.pure (Fin.snoc h x) structure NodeCodec {n : ℕ} (V : Fin n → Type*) (W : Type*) where
structure
BanditRLProof.Causal.NodeCodec
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.Causal.NodeCodecReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
structure NodeCodec {n : ℕ} (V : Fin n → Type*) (W : Type*) where
def
BanditRLProof.Causal.NodeCodec.prefix
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.Causal.NodeCodec.prefixReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
def NodeCodec.prefix {n : ℕ} {V : Fin (n+1) → Type*} {W : Type*} (c : NodeCodec V W) : NodeCodec (fun i : Fin n => V i.castSucc) W where
def
BanditRLProof.Causal.NodeCodec.encodeAssignment
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.Causal.NodeCodec.encodeAssignmentReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
def NodeCodec.encodeAssignment {n : ℕ} {V : Fin n → Type*} {W : Type*} (c : NodeCodec V W) (x : (i : Fin n) → V i) : Fin n → W
def
BanditRLProof.Causal.NodeCodec.decodeAssignment
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.Causal.NodeCodec.decodeAssignmentReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
def NodeCodec.decodeAssignment {n : ℕ} {V : Fin n → Type*} {W : Type*} (c : NodeCodec V W) (x : Fin n → W) : (i : Fin n) → V i
theorem
BanditRLProof.Causal.NodeCodec.decode_encodeAssignment
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.Causal.NodeCodec.decode_encodeAssignmentReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem NodeCodec.decode_encodeAssignment {n : ℕ} {V : Fin n → Type*} {W : Type*} (c : NodeCodec V W) (x : (i : Fin n) → V i) : c.decodeAssignment (c.encodeAssignment x) = x
def
BanditRLProof.Causal.NodeCodec.encodeTables
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.Causal.NodeCodec.encodeTablesReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
noncomputable def NodeCodec.encodeTables {n : ℕ} {V : Fin n → Type*} {W : Type*} (c : NodeCodec V W) (p : NodeTables V) : Tables W n
theorem
BanditRLProof.Causal.NodeCodec.encodeAssignment_snoc
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.Causal.NodeCodec.encodeAssignment_snocReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem NodeCodec.encodeAssignment_snoc {n : ℕ} {V : Fin (n+1) → Type*} {W : Type*} (c : NodeCodec V W) (h : (i : Fin n) → V i.castSucc) (x : V (Fin.last n)) : c.encodeAssignment (Fin.snoc h x) = Fin.snoc (c.prefix.encodeAssignment h) (c.encode (Fin.last n) x)
theorem
BanditRLProof.Causal.NodeCodec.joint_encodeTables
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Indexed settings: Causal bandits
Canonical node identity
declaration:BanditRLProof.Causal.NodeCodec.joint_encodeTablesReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem NodeCodec.joint_encodeTables {n : ℕ} {V : Fin n → Type*} {W : Type*} (c : NodeCodec V W) (p : NodeTables V) : joint (c.encodeTables p) = (nodeJoint p).map c.encodeAssignment
theorem
BanditRLProof.Causal.NodeCodec.decode_joint_encodeTables
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.Causal.NodeCodec.decode_joint_encodeTablesReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem NodeCodec.decode_joint_encodeTables {n : ℕ} {V : Fin n → Type*} {W : Type*} (c : NodeCodec V W) (p : NodeTables V) : (joint (c.encodeTables p)).map c.decodeAssignment = nodeJoint p
def
BanditRLProof.Causal.productNodeCodec
Compiled
A finite common alphabet is constructed, not assumed: use the finite product. Each node stores its value at its own coordinate and defaults elsewhere.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Indexed settings: Causal bandits
Canonical node identity
declaration:BanditRLProof.Causal.productNodeCodecReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
noncomputable def productNodeCodec {n : ℕ} (V : Fin n → Type*) [∀ i, Inhabited (V i)] : NodeCodec V ((i : Fin n) → V i) where
def
BanditRLProof.Causal.nodeIntervene
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.Causal.nodeInterveneReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
noncomputable def nodeIntervene {n : ℕ} {V : Fin n → Type*} (p : NodeTables V) (a : (i : Fin n) → Option (V i)) : NodeTables V
def
BanditRLProof.Causal.NodeCodec.encodeAction
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.Causal.NodeCodec.encodeActionReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
def NodeCodec.encodeAction {n : ℕ} {V : Fin n → Type*} {W : Type*} (c : NodeCodec V W) (a : (i : Fin n) → Option (V i)) : Fin n → Option W
theorem
BanditRLProof.Causal.NodeCodec.encodeTables_intervene
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.Causal.NodeCodec.encodeTables_interveneReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem NodeCodec.encodeTables_intervene {n : ℕ} {V : Fin n → Type*} {W : Type*} (c : NodeCodec V W) (p : NodeTables V) (a : (i : Fin n) → Option (V i)) : c.encodeTables (nodeIntervene p a) = intervene (c.encodeTables p) (c.encodeAction a)
theorem
BanditRLProof.Causal.NodeCodec.joint_intervene
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.Causal.NodeCodec.joint_interveneReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem NodeCodec.joint_intervene {n : ℕ} {V : Fin n → Type*} {W : Type*} (c : NodeCodec V W) (p : NodeTables V) (a : (i : Fin n) → Option (V i)) : joint (intervene (c.encodeTables p) (c.encodeAction a)) = (nodeJoint (nodeIntervene p a)).map c.encodeAssignment
structure
BanditRLProof.Causal.NodeGraphModel
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.Causal.NodeGraphModelReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
structure NodeGraphModel {n : ℕ} (V : Fin n → Type*) where
def
BanditRLProof.Causal.NodeGraphModel.encodeGraph
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.Causal.NodeGraphModel.encodeGraphReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
noncomputable def NodeGraphModel.encodeGraph {n : ℕ} {V : Fin n → Type*} {W : Type*} (g : NodeGraphModel V) (c : NodeCodec V W) : GraphModel W n where
theorem
BanditRLProof.Causal.NodeGraphModel.intervention_joint_encoded
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.Causal.NodeGraphModel.intervention_joint_encodedReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem NodeGraphModel.intervention_joint_encoded {n : ℕ} {V : Fin n → Type*} {W : Type*} (g : NodeGraphModel V) (c : NodeCodec V W) (a : (i : Fin n) → Option (V i)) : joint ((g.encodeGraph c).doModel (c.encodeAction a)).table = (nodeJoint (nodeIntervene g.table a)).map c.encodeAssignment
theorem
BanditRLProof.Causal.NodeCodec.encoded_joint_valid
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.Causal.NodeCodec.encoded_joint_validReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem NodeCodec.encoded_joint_valid {n : ℕ} {V : Fin n → Type*} {W : Type*} (c : NodeCodec V W) (p : NodeTables V) (w : Fin n → W) (hw : w ∈ (joint (c.encodeTables p)).support) : c.encodeAssignment (c.decodeAssignment w) = w
def
BanditRLProof.Causal.nodeHistory
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.Causal.nodeHistoryReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
def nodeHistory {n : ℕ} {V : Fin n → Type*} (x : (i : Fin n) → V i) (i : Fin n) : NodeHistory V i
abbrev
BanditRLProof.Causal.NodeGraphModel.ParentConfig
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.Causal.NodeGraphModel.ParentConfigReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
abbrev NodeGraphModel.ParentConfig {n : ℕ} {V : Fin n → Type*} (g : NodeGraphModel V) (i : Fin n)
def
BanditRLProof.Causal.NodeGraphModel.parentConfig
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.Causal.NodeGraphModel.parentConfigReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
def NodeGraphModel.parentConfig {n : ℕ} {V : Fin n → Type*} (g : NodeGraphModel V) (i : Fin n) (h : NodeHistory V i) : g.ParentConfig i
def
BanditRLProof.Causal.NodeGraphModel.encodeParent
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.Causal.NodeGraphModel.encodeParentReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
def NodeGraphModel.encodeParent {n : ℕ} {V : Fin n → Type*} {W : Type*} (g : NodeGraphModel V) (c : NodeCodec V W) (i : Fin n) (z : g.ParentConfig i) : (g.encodeGraph c).ParentConfig i
def
BanditRLProof.Causal.NodeGraphModel.decodeParent
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.Causal.NodeGraphModel.decodeParentReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
def NodeGraphModel.decodeParent {n : ℕ} {V : Fin n → Type*} {W : Type*} (g : NodeGraphModel V) (c : NodeCodec V W) (i : Fin n) (z : (g.encodeGraph c).ParentConfig i) : g.ParentConfig i
theorem
BanditRLProof.Causal.NodeGraphModel.decode_encodeParent
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.Causal.NodeGraphModel.decode_encodeParentReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem NodeGraphModel.decode_encodeParent {n : ℕ} {V : Fin n → Type*} {W : Type*} (g : NodeGraphModel V) (c : NodeCodec V W) (i : Fin n) (z : g.ParentConfig i) : g.decodeParent c i (g.encodeParent c i z) = z
def
BanditRLProof.Causal.NodeGraphModel.parentLaw
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.Causal.NodeGraphModel.parentLawReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
noncomputable def NodeGraphModel.parentLaw {n : ℕ} {V : Fin n → Type*} (g : NodeGraphModel V) (a : (i : Fin n) → Option (V i)) (i : Fin n) : PMF (g.ParentConfig i)
theorem
BanditRLProof.Causal.NodeGraphModel.parentLaw_encoded
Compiled
No declaration docstring is present; use the chapter context and exact statement below.
Used in these reading views: Bandit Book
1. Finite bandits, traces, and regret
Canonical node identity
declaration:BanditRLProof.Causal.NodeGraphModel.parentLaw_encodedReading membership is not a proof dependency. Exact assumptions remain in the Lean statement.
theorem NodeGraphModel.parentLaw_encoded {n : ℕ} {V : Fin n → Type*} {W : Type*} (g : NodeGraphModel V) (c : NodeCodec V W) (a : (i : Fin n) → Option (V i)) (i : Fin n) : (g.encodeGraph c).parentLaw (c.encodeAction a) i = (g.parentLaw a i).map (g.encodeParent c i)