Variable: Named Causal Atoms (V2) #
The default vertex carrier for theory-side SEMs. A Variable is just a
named atom; semantic content lives in mechanisms attached to vertices,
not in the variable itself.
CausalGraph V is generic in the vertex type V; Variable is the
canonical default. Use directly when you don't need polymorphism.
A variable in a causal model: a named atom. Semantic content lives in
the Mechanism attached to a vertex, not in the variable itself.
BEq/LawfulBEq are auto-derived from DecidableEq via
instBEqOfDecidableEq.
- name : String
Instances For
Equations
- Core.Causal.instDecidableEqVariable.decEq { name := a } { name := b } = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
Instances For
@[implicit_reducible]
@[implicit_reducible]
Equations
Equations
- Core.Causal.instHashableVariable.hash { name := a } = mixHash 0 (hash a)
Instances For
Equations
- Core.Causal.instReprVariable.repr x✝ prec✝ = Std.Format.bracket "{ " (Std.Format.nil ++ Std.Format.text "name" ++ Std.Format.text " := " ++ (Std.Format.nest 8 (repr x✝.name)).group) " }"
Instances For
@[implicit_reducible]
Equations
- Core.Causal.instReprVariable = { reprPrec := Core.Causal.instReprVariable.repr }
@[implicit_reducible]
Equations
Equations
- Core.Causal.instInhabitedVariable.default = { name := default }
Instances For
@[implicit_reducible]
Equations
- Core.Causal.instToStringVariable = { toString := fun (v : Core.Causal.Variable) => v.name }