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