definition compl' where ‹compl' = (λq. (SOME p. q = compl p))›
lemma comp'_sem: ‹eval e f g (compl' p) ⟷¬ eval e f g p› by (smt compl'_def compl.simps(1) compl eval.simps(7) someI_ex)
lemma comp'_sem_list: ‹list_ex (λp. ¬ eval e f g p) (map compl' ps) ⟷ list_ex (eval e f g) ps› by (induct ps) (use comp'_sem in auto)
theorem SC_completeness': fixes ps :: ‹(nat, nat) form list› assumes‹∀(e :: nat ==> nat hterm) f g. list_ex (eval e f g) (p # ps)› shows‹⊨ p # ps› proof -
define ps' where‹ps' = map compl' ps› thenhave‹ps = map compl ps'› by (induct ps arbitrary: ps') (simp, smt (verit) compl'_def compl.simps(1) list.simps(9) someI_ex) from assms have‹∀(e :: nat ==> nat hterm) f g. (list_ex (eval e f g) ps) ∨ eval e f g p›
auto thenhave‹∀(e :: nat ==> nat hterm) f g. (list_ex (λp. ¬ eval e f g p) ps') ∨ eval e f g p› unfolding ps'_defusing comp'_sem_list by blast thenhave‹∀(e :: nat ==> nat hterm) f g. list_all (eval e f g) ps' ⟶ eval e f g p› by (metis Ball_set Bex_set) thenhave‹⊨ p # map compl ps'› using SC_completeness by blast thenshow ?thesis using‹ps = map compl ps'›by auto qed
corollary fixes ps :: ‹(nat, nat) form list› assumes‹∀(e :: nat ==> nat hterm) f g. list_ex (eval e f g) ps› shows‹⊨ ps› using assms SC_completeness' by (cases ps) auto
end
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet am 2026-06-10)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.