OAI/Combinatorics/GraphThreshold/ProbabilityTree.lean
13 declarations, 0 contain sorry, 0 declared as axioms
- inductive
OAI.LeanBlast.SecondKahnKalai.ProbabilityTreeline 12Source documentation
Equal-depth trees carrying an actual strictly positive child law at every branch.
inductive ProbabilityTree (X : Type) : ℕ → Type 1 | leaf : ProbabilityTree X 0 | node {d : ℕ} (B : Type) [Fintype B] (law : FiniteLaw B) (positive : law.IsPositive) (label : B → Finset X) (child : B → ProbabilityTree X d) : ProbabilityTree X (d + 1) /-- A function inspects only the indicated coordinates of its input subset. -/Mentions: OAI.LeanBlast.SecondKahnKalai.FiniteLaw
- def
OAI.LeanBlast.SecondKahnKalai.DependsOnlyOnline 19Source documentation
A function inspects only the indicated coordinates of its input subset.
def DependsOnlyOn {X β : Type*} [DecidableEq X] (S : Finset X) (f : Finset X → β) : Prop := … - def
OAI.LeanBlast.SecondKahnKalai.DependsOutsideline 24Source documentation
A function is unchanged by modifications inside the indicated coordinates.
def DependsOutside {X β : Type*} [DecidableEq X] (A : Finset X) (f : Finset X → β) : Prop := … - def
OAI.LeanBlast.SecondKahnKalai.ProbabilityTree.Pathline 33Source documentation
Full root-to-leaf paths, retaining distinct child-index histories.
def Path : {d : ℕ} → ProbabilityTree X d → Type | _, .leaf => PUnit | _, @node _ _ B _ _ _ _ child => Σ b : B, Path (child b) /-- The list of arc labels along a full path, in root-to-leaf order. -/ - def
OAI.LeanBlast.SecondKahnKalai.ProbabilityTree.pathLabelsline 38Source documentation
The list of arc labels along a full path, in root-to-leaf order.
def pathLabels : {d : ℕ} → (T : ProbabilityTree X d) → T.Path → List (Finset X) | _, .leaf => fun _ => [] | _, @node _ _ _B _ _ _ label child => fun p => label p.1 :: pathLabels (child p.1) p.2 /-- Every path family is finite; no quotient by labels is taken. -/ - instance
OAI.LeanBlast.SecondKahnKalai.ProbabilityTree.pathFintypeline 44Source documentation
Every path family is finite; no quotient by labels is taken.
instance pathFintype : {d : ℕ} → (T : ProbabilityTree X d) → Fintype T.Path | _, .leaf => inferInstanceAs (Fintype PUnit) | _, @node _ _ B _ _ _ _ child => by letI : ∀ b : B, Fintype (Path (child b)) := fun b => pathFintype (child b) …Mentions: OAI.LeanBlast.SecondKahnKalai.ProbabilityTree, OAI.LeanBlast.SecondKahnKalai.ProbabilityTree.Path
- def
OAI.LeanBlast.SecondKahnKalai.ProbabilityTree.pathUnionline 55Source documentation
Union of all arc labels along a specified full path.
def pathUnion : {d : ℕ} → (T : ProbabilityTree X d) → T.Path → Finset X | _, .leaf => fun _ => ∅ | _, @node _ _ _B _ _ _ label child => fun p => label p.1 ∪ pathUnion (child p.1) p.2 /-- All coordinates used by any arc anywhere in the tree. -/ - def
OAI.LeanBlast.SecondKahnKalai.ProbabilityTree.supportline 61Source documentation
All coordinates used by any arc anywhere in the tree.
def support : {d : ℕ} → ProbabilityTree X d → Finset X | _, .leaf => ∅ | _, @node _ _ B inst _ _ label child => (@Finset.univ B inst).biUnion fun b => label b ∪ support (child b) /-- A recursive form of disjointness, equivalent to pairwise disjoint labels on every full path. -/ - def
OAI.LeanBlast.SecondKahnKalai.ProbabilityTree.IsDisjointline 67Source documentation
A recursive form of disjointness, equivalent to pairwise disjoint labels on every full path.
def IsDisjoint : {d : ℕ} → ProbabilityTree X d → Prop | _, .leaf => True | _, @node _ _ _ _ _ _ label child => (∀ b, Disjoint (label b) (support (child b))) ∧ ∀ b, IsDisjoint (child b) /-- Literal pairwise disjointness along every full root-to-leaf path. -/Mentions: OAI.LeanBlast.SecondKahnKalai.ProbabilityTree, OAI.LeanBlast.SecondKahnKalai.ProbabilityTree.support
- def
OAI.LeanBlast.SecondKahnKalai.ProbabilityTree.PathDisjointline 73Source documentation
Literal pairwise disjointness along every full root-to-leaf path.
def PathDisjoint {d : ℕ} (T : ProbabilityTree X d) : Prop := … - def
OAI.LeanBlast.SecondKahnKalai.ProbabilityTree.HasSpreadline 77Source documentation
Per-level spread conditions, starting with index zero at the root.
def HasSpread : {d : ℕ} → ProbabilityTree X d → (ℕ → ℝ) → Prop | _, .leaf, _ => True | _, @node _ _ _ _ law _ label child, a => IsSpread law label (a 0) ∧ ∀ b, HasSpread (child b) (fun j => a (j + 1)) /-- The event that some full path is covered by a given set. -/Mentions: OAI.LeanBlast.SecondKahnKalai.ProbabilityTree, OAI.LeanBlast.SecondKahnKalai.IsSpread
- def
OAI.LeanBlast.SecondKahnKalai.ProbabilityTree.CoveredByline 83Source documentation
The event that some full path is covered by a given set.
def CoveredBy {d : ℕ} (T : ProbabilityTree X d) (W : Finset X) : Prop := … - def
OAI.LeanBlast.SecondKahnKalai.ProbabilityTree.HasCapacitiesline 89Source documentation
Per-level cardinality capacities, starting with index zero at the root.
def HasCapacities : {d : ℕ} → ProbabilityTree X d → (ℕ → ℕ) → Prop | _, .leaf, _ => True | _, @node _ _ _ _ _ _ label child, m => (∀ b, (label b).card ≤ m 0) ∧ ∀ b, HasCapacities (child b) (fun j => m (j + 1)) end ProbabilityTree end LeanBlast.SecondKahnKalai end end OAI