% Proven with SWI-Prolog https://www.swi-prolog.org/ % including check for tautology % label % label("Contraction of the Arctic Ice | Climatology | Measurements Polar Ice Arctic| D.V.",urlSVG,"https://danielverhoeven.deds.nl/dag/smelten_noordpoolkap/Arctic_Shrinking_datalog.svg). % facts url("https://en.wikipedia.org/wiki/Arctic"). url("https://nsidc.org/arcticseaicenews/2023/09/"). url("https://www.ipcc.ch/report/sixth-assessment-report-cycle/"). average_temperature("arctic_circle < 0°C",1980). average_temperature("arctic_circle > 0°C",2016). volume(arctic_ice,"zero_measurement",1980). volume(arctic_ice,"zero_measurement - 7500 billion tons",2016). surface(arctic_ice,"7,54 million kmē",1980). surface(arctic_ice,"4,17 million kmē",2016). % rules % rule checking for tautology different(X, X) :- !, fail. different(X, Y). % rules for causation graphs prove :- process(contraction,climate_change,arctic_ice). process(contraction,climate_change,arctic_ice) :- url("https://www.ipcc.ch/report/sixth-assessment-report-cycle/"), different(status(storage,snow,arctic_ice,1980),status(storage,snow,arctic_ice,2016)), status(storage,snow,arctic_ice,1980), status(storage,snow,arctic_ice,2016). status(storage,snow,arctic_ice,2016) :- url("https://nsidc.org/arcticseaicenews/2023/09/"), average_temperature("arctic_circle > 0°C",2016), volume(arctic_ice,"zero_measurement - 7500 billion tons",2016), surface(arctic_ice,"4,17 million kmē",2016). status(storage,snow,arctic_ice,1980) :- url("https://en.wikipedia.org/wiki/Arctic"), average_temperature("arctic_circle < 0°C",1980), volume(arctic_ice,"zero_measurement",1980), surface(arctic_ice,"7,54 million kmē",1980).