2025-05-30 Relatorium
Challenge is to scale verified coding for
a human (with little formal training)
a human assisted by AI (and their hallucinations)
a human team assisted by AI (through building trust)






Example. The induction tactic
generates the following two subgoals
and the partial proof term
Language workbench demo (2009) from stealth startup Intentional Software

Reflection between logical predicates and boolean functions.

Complex maps between logical predicates and boolean functions can be composed from simpler maps.
Lemma idP : reflect b1 b1.
Lemma idPn : reflect (~~ b1) (~~ b1).
Lemma negP : reflect (~ b1) (~~ b1).
Lemma negPn : reflect b1 (~~ ~~ b1).
Lemma negPf : reflect (b1 = false) (~~ b1).
Lemma andP : reflect (b1 /\ b2) (b1 && b2).
Lemma orP : reflect (b1 \/ b2) (b1 || b2).
Lemma nandP : reflect (~~ b1 \/ ~~ b2) (~~ (b1 && b2)).
Lemma norP : reflect (~~ b1 /\ ~~ b2) (~~ (b1 || b2)).
Lemma implyP : reflect (b1 -> b2) (b1 ==> b2).

A (pseudo-)double category is a
category internal to \(\text{Cat}\), i.e.
category \(C_0\) of objects
category \(C_1\) of morphisms
source, target functors \(s, t: C_1 \rightarrow C_0\)
identity-assigning functor \(e: C_0 \rightarrow C_1\)
composition \(c: C_1 \times_{C_0} C_1 \rightarrow C_1\)

objects: objects of \(C_0\)
\(\downarrow\) tight morphisms: morphisms of \(C_0\)
⇸ loose morphisms: objects of \(C_1\)
(we only assume associativity holds
up to coherent isomorphism)
\(\Downarrow\) cells: morphisms of \(C_1\)

objects:
interfaces
tight morphisms:
interface maps
loose morphisms:
interactions
cells:
interaction maps




Tool for spec translation (autoformalization), refinement and analysis

https://catcolab.org/ for defining and computing with doctrines, theories,
models and instances within a double categorical framework.


Humans (with little formal training)
Humans assisted by AI (and their hallucinations)
Teams assisted by AI (through building trust)