(*<*)
theory Results
imports Examples
begin
(*>*)
section ‹ Collected Results from the ICDT'22 Paper›
global_interpretation icdt22: simplification "λx. x" "λx. True"
by standard auto
lemma cov_eval_fin:
assumes "cov x (Q :: ('a :: {infinite, linorder}, 'b :: linorder) fmla) G" "x ∈ fv Q"
"finite (adom I)" "∧ σ. ¬ sat (Q \ <bottom> x) I σ"
shows "eval Q I = eval (Disj (Conj Q (DISJ (qps G))) (DISJ ((λy. Conj (cp (Q[x \ <rightarrow> y])) (x ≈ y)) ` eqs x G))) I"
using assms
by (intro trans[OF icdt22.cov_eval_fin[OF assms]])
(auto 0 3 simp: eval_def fv_subst intro!: arg_cong[of _ _ "λX. eval_on X _ _" ]
dest!: fv_DISJ[THEN set_mp, rotated 1 ] fv_cp[THEN set_mp]
dest: cov_fv[OF _ _ qps_in] cov_fv[OF _ _ eqs_in])
text ‹ Remapping the formalization statements to the lemma's from the paper:›
lemmas icdt22_lemma_1 = gen_fv gen_sat gen_cp_erase
lemmas icdt22_definition_2 = sub.simps nongens_def rrb_def sr_def
lemmas icdt22_lemma_3 = ex_cov cov_sat_erase
lemmas icdt22_lemma_4 = cov_fv cov_equiv[OF _ refl]
lemmas icdt22_lemma_5 = icdt22.cov_Exists_equiv
lemmas icdt22_example_6 = ex_rb_Q_susp_user[unfolded
Q_susp_user_def Q_susp_user_rb_def]
lemmas icdt22_lemma_7 = cov_eval_fin cov_eval_inf
lemmas icdt22_lemma_8 = inres_SPEC[OF _ icdt22.rb_correct[unfolded icdt22.rb_spec_def, simplified], of Q Q' for Q Q']
lemmas icdt22_lemma_9 = inres_SPEC[OF _ icdt22.split_correct[unfolded icdt22.split_spec_def FV_def EVAL_def, simplified],
of Q "(Qfin, Qinf)" for Q Qfin Qinf, simplified]
lemmas icdt22_example_10 = ex_split_Q_disj[unfolded
Q_disj_def Q_disj_split_fin_def Q_disj_split_inf_def]
lemmas icdt22_example_11 = ex_split_Q_eq[unfolded
Q_eq_def Q_eq_split_fin_def Q_eq_split_inf_def]
lemmas icdt22_example_12 = ex_split_Q_susp_user[unfolded
Q_susp_user_def Q_susp_user_split_fin_def Q_susp_user_split_inf_def]
text ‹ Additionally, here are the correctness statements for the algorithm variants with
intermediate constant propagation (which are used in the examples): ›
lemmas icdt22_lemma_8' = inres_SPEC[OF _ extra_cp.RB_correct[unfolded extra_cp.rb_spec_def], simplified, of Q Q' for Q Q']
lemmas icdt22_lemma_9' = inres_SPEC[OF _ extra_cp.SPLIT_correct[unfolded extra_cp.split_spec_def FV_def EVAL_def, simplified],
of Q "(Qfin, Qinf)" for Q Qfin Qinf, simplified]
text ‹ Now, we summarize the formally verified results from
ICDT'22 paper~cite ‹ "DBLP:conf/icdt/RaszykBKT22"› :
begin{description}
item[@{thm [source] icdt22_lemma_1}:] @{thm icdt22_lemma_1[no_vars]}
item[@{thm [source] icdt22_definition_2}:] @{thm icdt22_definition_2[no_vars]}
item[@{thm [source] icdt22_lemma_3}:] @{thm icdt22_lemma_3[no_vars]}
item[@{thm [source] icdt22_lemma_4}:] @{thm icdt22_lemma_4[no_vars]}
item[@{thm [source] icdt22_lemma_5}:] @{thm icdt22_lemma_5[no_vars]}
item[@{thm [source] icdt22_example_6}:] @{thm icdt22_example_6[no_vars]}
item[@{thm [source] icdt22_lemma_7}:] @{thm icdt22_lemma_7[no_vars]}
item[@{thm [source] icdt22_lemma_8}:] @{thm icdt22_lemma_8[no_vars]}
item[@{thm [source] icdt22_lemma_9}:] @{thm icdt22_lemma_9[no_vars]}
item[@{thm [source] icdt22_lemma_8'}:] @{thm icdt22_lemma_8'[no_vars]}
item[@{thm [source] icdt22_lemma_9'}:] @{thm icdt22_lemma_9'[no_vars]}
item[@{thm [source] icdt22_example_10}:] @{thm icdt22_example_10[no_vars]}
item[@{thm [source] icdt22_example_11}:] @{thm icdt22_example_11[no_vars]}
item[@{thm [source] icdt22_example_12}:] @{thm icdt22_example_12[no_vars]}
end{description}
›
(*<*)
end
(*>*)
Messung V0.5 in Prozent C=92 H=98 G=94
¤ Dauer der Verarbeitung: 0.10 Sekunden
(vorverarbeitet am 2026-06-10)
¤
*© Formatika GbR, Deutschland