Skip to content

Instantly share code, notes, and snippets.

View jp-diegidio's full-sized avatar

Julio Di Egidio jp-diegidio

View GitHub Profile
@jp-diegidio
jp-diegidio / CantorsAntiDiagFun.v
Last active April 9, 2025 13:03
Cantor's diagonal argument (in Rocq)
(** * Cantor's diagonal argument (in Rocq)
We go for the simplest construction, which is not
in terms of sets, just (type-theoretic) *functions*
plus the most basic functional extensionality, i.e.
eta-equivalence/conversion.
TODO:
- The proof could probably be cleaner,
and the overall assumptions made clearer.
@jp-diegidio
jp-diegidio / gentzen.pl
Last active December 19, 2024 20:54
A constructive logic solver in Prolog
/* gentzen / gentzen.pl v0.10.30-alpha
A constructive logic solver in Prolog
Copyright (C) 2024 Julio P. Di Egidio
http://julio.diegidio.name
This software is released under GNU-GPLv3+.
As usual, NO WARRANTY OF ANY KIND is implied.
At this stage, implements up to a solver for
affine intuitionistic propositional logic, with
support for classical via negative translation.
@jp-diegidio
jp-diegidio / pairwise.pl
Last active November 27, 2024 16:34
Pairwise intersection solver in Prolog
/* pairwise (pairwise.pl) v1.1.0-alpha
Pairwise intersection solver in Prolog
Copyright (C) 2024 Julio P. Di Egidio
http://julio.diegidio.name
This software is released in the Public Domain.
As usual, NO WARRANTY OF ANY KIND is implied.
Implements a (tentative) solution to the question:
"Minimum number of elements in all sets" - StackExchange
Question: https://puzzling.stackexchange.com/questions/128961
@jp-diegidio
jp-diegidio / EpimenidesParadox.v
Last active July 20, 2025 11:30
Epimenides Paradox (in Coq)
(** Epimenides' Paradox (v1.4-draft)
<< 'Morning everybody,
"Epimenides lies iff everybody lies!" which
I am taking to be *the predicative version of*
"the uncooperative rational player". >>
Proposition:
Epimenides the Cretan says
"all Cretans are liars!"
Question:
@jp-diegidio
jp-diegidio / prime_gen.pl
Last active November 27, 2024 16:36
Simple prime number generation in Prolog
/* prime_gen (prime_gen.pl) v1.0.0-rc
Simple prime number generation in Prolog
Copyright (C) 2023 Julio P. Di Egidio
http://julio.diegidio.name
This software is released under GNU-GPLv3+.
As usual, NO WARRANTY OF ANY KIND is implied.
*/
% Developed and tested on:
% - GNU Prolog 1.5.0 (64 bits)
@jp-diegidio
jp-diegidio / ExZulip01.v
Last active August 11, 2025 17:20
Exercise Zulip-01 in Coq
(** Exercise Zulip-01
"Prove, by induction on boolean terms, that one step of
evaluation in this lambda calculus reduces the term size."
Was <https://coq.zulipchat.com/#narrow/stream/237977-Coq-users/topic
/Tactic.20for.20destructing.20specific.20pattern.20match.20in.20Goal/near/394101120>
*)
Inductive term : Type :=
@jp-diegidio
jp-diegidio / GrellingParadox.v
Last active August 3, 2025 14:49
Grelling–Nelson Paradox (in Coq)
(** Grelling-Nelson Paradox
Module [GnpLogic] is the basic logical analysis,
with the conclusion "phi is incomplete": where,
together with a notion of *functional extensionality*
(represented by [peq]), that [phi] is a *total function*
seems all it takes for the "paradox" to apply.
Module [GnpExtLogic] is the first attempt at extending
the logic by extending the domain of discourse, but fails
@jp-diegidio
jp-diegidio / ilog2.pl
Last active October 27, 2019 19:13
Numerical Snippets in Prolog
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% (SWI-Prolog 7.5.1)
:- module(ilog2,
[ %%
ilog2_n/3, % +X, -Y, -C
ilog2_b/3, % +X, -Y, -C
ilog2_i/3, % +X, -Y, -C
%ilog2_f/3, % +X, -Y, -C
@jp-diegidio
jp-diegidio / WhoOwnsTheFish.pl
Last active October 14, 2023 18:02
Einstein's riddle in Prolog
/*
Einstein's riddle: who owns the fish?
There are 5 houses in 5 different colors in a row. In each house lives a
person with a different nationality. The 5 owners drink a certain type of
beverage, smoke a certain brand of cigar, and keep a certain pet. No
owners have the same pet, smoke the same brand of cigar, or drink the same
beverage. Other facts:
1. The Brit lives in the red house.
@jp-diegidio
jp-diegidio / Nan.Kernel.Ex.pl
Created September 3, 2015 01:51
Answer Sources in Prolog (SWI) - Preview
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
/*
Answer Sources in Prolog (SWI) - Preview
Answer Sources: Extensions
Copyright (c) 2015 Julio P. Di Egidio
http://julio.diegidio.name/
All rights reserved.
Answer Sources: Extensions
--------------------------