C Logic-based rules
We present below the judgment rules for each of the moral values that were used in the experiments.
Affordability:
valueSupport(sell_energy(X, Payoff), "improve_payoff") :-
X > 100.
valueDefeat(buy_energy(X, Payoff, Budget), "improve_payoff") :-
X > 100 & Payoff < (-Budget).Environmental sustainability:
valueDefeat(buy_energy(X), "promote_grid_autonomy") :-
X > 100.
valueDefeat(sell_energy(X), "promote_grid_autonomy") :-
X > 100.
valueDefeat(grid_consumption(X, OverConsumption),
"balance_supply_demand") :-
X > 100 & OverConsumption > (3 / 10).
valueDefeat(storage_consumption(X, EnergyWaste),
"balance_supply_demand") :-
X > 100 & EnergyWaste > (3 / 10).
valueSupport(buy_energy(X), "promote_grid_autonomy") :-
X <= 100.
valueSupport(sell_energy(X), "promote_grid_autonomy") :-
X <= 100.
valueSupport(give_energy(X), "promote_grid_autonomy") :-
X > 0.
valueSupport(grid_consumption(X), "promote_grid_autonomy") :-
X > 0.Inclusiveness:
valueDefeat(buy_energy(X,Equity,WellBeing,GlobalWellBeing),
"promote_justice") :-
Equity < (9 / 10) &
Threshold = (12 / 10) * GlobalWellBeing &
WellBeing > Threshold.
valueDefeat(give_energy(X,Exclusion), "promote_justice") :-
Exclusion > (5 / 10).
valueDefeat(grid_consumption(X,Equity,WellBeing,GlobalWellBeing),
"promote_justice") :-
Equity < (9 / 10) &
Threshold = (12 / 10) * GlobalWellBeing &
WellBeing > Threshold.
valueDefeat(sell_energy(X,Exclusion), "promote_justice") :-
Exclusion > (5 / 10).
valueDefeat(sell_energy(X,Equity), "promote_justice") :-
Equity < (9 / 10).
valueSupport(buy_energy(X,Exclusion), "promote_justice") :-
Exclusion >= (5 / 10).
valueSupport(buy_energy(X,Equity,WellBeing,GlobalWellBeing),
"promote_justice") :-
Equity < (9 / 10) &
Threshold = (9 / 10) * GlobalWellBeing &
WellBeing < Threshold.
valueSupport(give_energy(X,Equity,Exclusion), "promote_justice") :-
Equity < (9 / 10) &
Exclusion < (5 / 10).
valueSupport(grid_consumption(X,Exclusion), "promote_justice") :-
Exclusion >= (5 / 10).
valueSupport(grid_consumption(X,Equity,WellBeing,GlobalWellBeing),
"promote_justice") :-
Equity < (9 / 10) &
Threshold = (9 / 10) * GlobalWellBeing &
WellBeing < Threshold.Security of supply:
valueSupport(grid_consumption(X, WellBeing, GlobalWellBeing),
"promote_comfort") :-
X > 100 &
WellBeing >= (8 / 10).
valueSupport(storage_consumption(X, WellBeing, GlobalWellBeing),
"promote_comfort") :-
X > 100 &
WellBeing >= (8 / 10).