Theory SDS_Impossibility
section ‹Incompatibility of SD-Efficiency and SD-Strategy-Proofness›
theory SDS_Impossibility
imports
Randomised_Social_Choice.SDS_Automation
Randomised_Social_Choice.Randomised_Social_Choice
begin
subsection ‹Preliminary Definitions›
locale sds_impossibility =
anonymous_sds agents alts sds +
neutral_sds agents alts sds +
sd_efficient_sds agents alts sds +
strategyproof_sds agents alts sds
for agents :: "'agent set" and alts :: "'alt set" and sds +
assumes agents_ge_4: "card agents ≥ 4"
and alts_ge_4: "card alts ≥ 4"
locale sds_impossibility_4_4 = sds_impossibility agents alts sds
for agents :: "'agent set" and alts :: "'alt set" and sds +
fixes A1 A2 A3 A4 :: 'agent and a b c d :: 'alt
assumes distinct_agents: "distinct [A1, A2, A3, A4]"
and distinct_alts: "distinct [a, b, c, d]"
and agents: "agents = {A1, A2, A3, A4}"
and alts: "alts = {a, b, c, d}"
begin
lemma an_sds: "an_sds agents alts sds" by unfold_locales
lemma ex_post_efficient_sds: "ex_post_efficient_sds agents alts sds" by unfold_locales
lemma sd_efficient_sds: "sd_efficient_sds agents alts sds" by unfold_locales
lemma strategyproof_an_sds: "strategyproof_an_sds agents alts sds" by unfold_locales
lemma distinct_agents' [simp]:
"A1 ≠ A2" "A1 ≠ A3" "A1 ≠ A4" "A2 ≠ A1" "A2 ≠ A3" "A2 ≠ A4"
"A3 ≠ A1" "A3 ≠ A2" "A3 ≠ A4" "A4 ≠ A1" "A4 ≠ A2" "A4 ≠ A3"
using distinct_agents by auto
lemma distinct_alts' [simp]:
"a ≠ b" "a ≠ c" "a ≠ d" "b ≠ a" "b ≠ c" "b ≠ d"
"c ≠ a" "c ≠ b" "c ≠ d" "d ≠ a" "d ≠ b" "d ≠ c"
using distinct_alts by auto
lemma card_agents [simp]: "card agents = 4" and card_alts [simp]: "card alts = 4"
using distinct_agents distinct_alts by (simp_all add: agents alts)
lemma in_agents [simp]: "A1 ∈ agents" "A2 ∈ agents" "A3 ∈ agents" "A4 ∈ agents"
by (simp_all add: agents)
lemma in_alts [simp]: "a ∈ alts" "b ∈ alts" "c ∈ alts" "d ∈ alts"
by (simp_all add: alts)
lemma agent_iff: "x ∈ agents ⟷ x ∈ {A1, A2, A3, A4}"
"(∀x∈agents. P x) ⟷ P A1 ∧ P A2 ∧ P A3 ∧ P A4"
"(∃x∈agents. P x) ⟷ P A1 ∨ P A2 ∨ P A3 ∨ P A4"
by (auto simp add: agents)
lemma alt_iff: "x ∈ alts ⟷ x ∈ {a,b,c,d}"
"(∀x∈alts. P x) ⟷ P a ∧ P b ∧ P c ∧ P d"
"(∃x∈alts. P x) ⟷ P a ∨ P b ∨ P c ∨ P d"
by (auto simp add: alts)
subsection ‹Definition of Preference Profiles and Fact Gathering›
preference_profile
agents: agents
alts: alts
where R1 = A1: [c, d], [a, b] A2: [b, d], a, c A3: a, b, [c, d] A4: [a, c], [b, d]
and R2 = A1: [a, c], [b, d] A2: [c, d], a, b A3: [b, d], a, c A4: a, b, [c, d]
and R3 = A1: [a, b], [c, d] A2: [c, d], [a, b] A3: d, [a, b], c A4: c, a, [b, d]
and R4 = A1: [a, b], [c, d] A2: [a, d], [b, c] A3: c, [a, b], d A4: d, c, [a, b]
and R5 = A1: [c, d], [a, b] A2: [a, b], [c, d] A3: [a, c], d, b A4: d, [a, b], c
and R6 = A1: [a, b], [c, d] A2: [c, d], [a, b] A3: [a, c], [b, d] A4: d, b, a, c
and R7 = A1: [a, b], [c, d] A2: [c, d], [a, b] A3: a, c, d, b A4: d, [a, b], c
and R8 = A1: [a, b], [c, d] A2: [a, c], [b, d] A3: d, [a, b], c A4: d, c, [a, b]
and R9 = A1: [a, b], [c, d] A2: [a, d], c, b A3: d, c, [a, b] A4: [a, b, c], d
and R10 = A1: [a, b], [c, d] A2: [c, d], [a, b] A3: [a, c], d, b A4: [b, d], a, c
and R11 = A1: [a, b], [c, d] A2: [c, d], [a, b] A3: d, [a, b], c A4: c, a, b, d
and R12 = A1: [c, d], [a, b] A2: [a, b], [c, d] A3: [a, c], d, b A4: [a, b, d], c
and R13 = A1: [a, c], [b, d] A2: [c, d], a, b A3: [b, d], a, c A4: a, b, d, c
and R14 = A1: [a, b], [c, d] A2: d, c, [a, b] A3: [a, b, c], d A4: a, d, c, b
and R15 = A1: [a, b], [c, d] A2: [c, d], [a, b] A3: [b, d], a, c A4: a, c, d, b
and R16 = A1: [a, b], [c, d] A2: [c, d], [a, b] A3: a, c, d, b A4: [a, b, d], c
and R17 = A1: [a, b], [c, d] A2: [c, d], [a, b] A3: [a, c], [b, d] A4: d, [a, b], c
and R18 = A1: [a, b], [c, d] A2: [a, d], [b, c] A3: [a, b, c], d A4: d, c, [a, b]
and R19 = A1: [a, b], [c, d] A2: [c, d], [a, b] A3: [b, d], a, c A4: [a, c], [b, d]
and R20 = A1: [b, d], a, c A2: b, a, [c, d] A3: a, c, [b, d] A4: d, c, [a, b]
and R21 = A1: [a, d], c, b A2: d, c, [a, b] A3: c, [a, b], d A4: a, b, [c, d]
and R22 = A1: [a, c], d, b A2: d, c, [a, b] A3: d, [a, b], c A4: a, b, [c, d]
and R23 = A1: [a, b], [c, d] A2: [c, d], [a, b] A3: [a, c], [b, d] A4: [a, b, d], c
and R24 = A1: [c, d], [a, b] A2: d, b, a, c A3: c, a, [b, d] A4: b, a, [c, d]
and R25 = A1: [c, d], [a, b] A2: [b, d], a, c A3: a, b, [c, d] A4: a, c, [b, d]
and R26 = A1: [b, d], [a, c] A2: [c, d], [a, b] A3: a, b, [c, d] A4: a, c, [b, d]
and R27 = A1: [a, b], [c, d] A2: [b, d], a, c A3: [a, c], [b, d] A4: [c, d], a, b
and R28 = A1: [c, d], a, b A2: [b, d], a, c A3: a, b, [c, d] A4: a, c, [b, d]
and R29 = A1: [a, c], d, b A2: [b, d], a, c A3: a, b, [c, d] A4: d, c, [a, b]
and R30 = A1: [a, d], c, b A2: d, c, [a, b] A3: c, [a, b], d A4: [a, b], d, c
and R31 = A1: [b, d], a, c A2: [a, c], d, b A3: c, d, [a, b] A4: [a, b], c, d
and R32 = A1: [a, c], d, b A2: d, c, [a, b] A3: d, [a, b], c A4: [a, b], d, c
and R33 = A1: [c, d], [a, b] A2: [a, c], d, b A3: a, b, [c, d] A4: d, [a, b], c
and R34 = A1: [a, b], [c, d] A2: a, c, d, b A3: b, [a, d], c A4: c, d, [a, b]
and R35 = A1: [a, d], c, b A2: a, b, [c, d] A3: [a, b, c], d A4: d, c, [a, b]
and R36 = A1: [c, d], [a, b] A2: [a, c], d, b A3: [b, d], a, c A4: a, b, [c, d]
and R37 = A1: [a, c], [b, d] A2: [b, d], [a, c] A3: a, b, [c, d] A4: c, d, [a, b]
and R38 = A1: [c, d], a, b A2: [b, d], a, c A3: a, b, [c, d] A4: [a, c], b, d
and R39 = A1: [a, c], d, b A2: [b, d], a, c A3: a, b, [c, d] A4: [c, d], a, b
and R40 = A1: [a, d], c, b A2: [a, b], c, d A3: [a, b, c], d A4: d, c, [a, b]
and R41 = A1: [a, d], c, b A2: [a, b], d, c A3: [a, b, c], d A4: d, c, [a, b]
and R42 = A1: [c, d], [a, b] A2: [a, b], [c, d] A3: d, b, a, c A4: c, a, [b, d]
and R43 = A1: [a, b], [c, d] A2: [c, d], [a, b] A3: d, [a, b], c A4: a, [c, d], b
and R44 = A1: [c, d], [a, b] A2: [a, c], d, b A3: [a, b], d, c A4: [a, b, d], c
and R45 = A1: [a, c], d, b A2: [b, d], a, c A3: [a, b], c, d A4: [c, d], b, a
and R46 = A1: [b, d], a, c A2: d, c, [a, b] A3: [a, c], [b, d] A4: b, a, [c, d]
and R47 = A1: [a, b], [c, d] A2: [a, d], c, b A3: d, c, [a, b] A4: c, [a, b], d