Soundness of the Proof System #
This file proves soundness of the proof system for admissible fragments: derivable sentences are true in all models equipped with a naming function.
Main Results #
Derivable.sound: IfDerivable A T φ, thenφis true in any model ofTwith a naming function.AConsistent.of_has_model: A theory with a model (equipped with a naming function) is consistent.
Design Notes #
The naming function is needed because the omega-rule (all_intro) derives ∀x.φ(x)
from derivations of φ(t) for all closed terms t. Soundness requires that every
element of the model is named by some closed term.
The all_intro/all_elim cases require a compatibility lemma between openBounds,
subst, and Realize, which involves subtle interactions between bound and free
variable representations. These cases use realize_openBounds (the semantic roundtrip
for openBounds) together with realize_subst and Fin.snoc_elim0_eq.
Soundness: If φ is derivable from T in fragment A, then φ is true
in any model of T equipped with a naming function.
A theory with a model (equipped with a naming function) is consistent.