Dependency atoms #
The atoms of team semantics are team properties, alongside the connectives of
Team/Operations.lean. Each atom compares values read off the points of a team through two maps
f and g. Väänänen's dependence atom Team.dep f g says that on the team g is a function of
f; the inclusion atom Team.incl f g, which Anttila, Häggblom and Yang study in modal team
logic, says that every value of f on the team is a value of g there.
A team of assignments reads a tuple of variables through f, and a team of Kripke worlds reads a
tuple of propositional atoms through the valuation. Väänänen's first-order atom =(Z, u), here
Team.Dep, and the modal atoms of Team/ModalDependence.lean and Team/ModalInclusion.lean are
therefore instances of the same properties, and their closure behaviour is proved once.
Widening the parameters of Team.Dep weakens dependence and strengthens variation, which is how
Degano and Aloni compose the atoms into constancy and variation conditions.
Main definitions #
Team.dep,Team.incl: the atoms as team properties.Team.Dep,Team.Var: the first-order dependence atom over a team of assignments, and the variation atom, its failure witnessed by two assignments.
Main results #
Team.isLowerSet_dep,Team.supClosed_incl,Team.isUpperSet_var: closure of the atoms.Team.not_supClosed_dep,Team.not_isLowerSet_incl: the closure properties they break.Team.dep_iff_exists: the dependent variable is a function of the parameters on the team.Team.Dep.trans: dependence composes.
References #
The atoms as team properties #
Equations
- Team.instDecidableMemFinsetTeamPropertyDepOfDecidableEq T = decidable_of_iff (∀ a ∈ T, ∀ b ∈ T, f a = f b → g a = g b) ⋯
Equations
- Team.instDecidableMemFinsetTeamPropertyInclOfDecidableEq f g T = { decide := decide (∀ a ∈ T.val.attach, (fun (a : α) (a_2 : a ∈ T) => ∃ b ∈ T, f a = g b) ↑a ⋯), reflects_decide := ⋯ }
Dependence is not union-closed. Two points agreeing on f and differing on g each form a
team satisfying the atom, but their union does not.
Inclusion is not downward-closed. If b supplies the g-value both of its own f-value
and of a's, but a does not supply its own, then {a, b} satisfies the atom and {a} does
not.
The first-order atoms #
The first-order dependence atom =(Z, u) holds of a team of assignments on which the value
of u is a function of the values of the variables of Z. With Z empty, u is constant
across the team.
Instances For
The variation atom var(Z, u) of [DA25] holds of a team in which two
assignments agree on Z and differ on u. It is the failure of =(Z, u) (Team.not_dep),
stated by its witnesses.
Equations
- Team.Var T Z u = ∃ i ∈ T, ∃ j ∈ T, (∀ z ∈ Z, i z = j z) ∧ i u ≠ j u
Instances For
Assignments of the team agreeing on every variable of Z agree on u.
Equations
- Team.instDecidableDepOfDecidableEq T Z u = decidable_of_iff (∀ i ∈ T, ∀ j ∈ T, (∀ z ∈ Z, i z = j z) → i u = j u) ⋯
Equations
- Team.instDecidableVarOfDecidableEq T Z u = { decide := decide (∃ (a : V → E) (_ : a ∈ T), (fun (i : V → E) => ∃ j ∈ T, (∀ z ∈ Z, i z = j z) ∧ i u ≠ j u) a), reflects_decide := ⋯ }
Dependence holds exactly when, on the team, some function takes the values of the variables
of Z to the value of u.
A parameter depends on the parameters.
Every dependence holds on a team of one assignment.