(* Theorems about sum and sumj *) lemma sum_upd_gt: "I<n ==> sum I (s(c n := x)) = sum I s" by (induct I) auto
lemma sum_upd_eq: "sum I (s(c I := x)) = sum I s" by (induct I) (auto simp add: sum_upd_gt [unfolded fun_upd_def])
lemma sum_upd_C: "sum I (s(C := x)) = sum I s" by (induct I) auto
lemma sumj_upd_ci: "sumj I i (s(c i := x)) = sumj I i s" by (induct I) (auto simp add: sum_upd_eq [unfolded fun_upd_def])
lemma sumj_upd_C: "sumj I i (s(C := x)) = sumj I i s" by (induct I) (auto simp add: sum_upd_C [unfolded fun_upd_def])
lemma sumj_sum_gt: "I<i ==> sumj I i s = sum I s" by (induct I) auto
lemma sumj_sum_eq: "(sumj I I s = sum I s)" by (induct I) (auto simp add: sumj_sum_gt)
lemma sum_sumj: "i<I ==> sum I s = s (c i) + sumj I i s" by (induct I) (auto simp add: linorder_neq_iff sumj_sum_eq)
(* Correctness proofs for Components *) (* p2 and p3 proofs *) lemma p2: "Component i ∈ stable {s. s C = s (c i) + k}" by (simp add: Component_def, safety)
lemma p3: "Component i ∈ stable {s. ∀v. v≠c i & v≠C --> s v = k v}" by (simp add: Component_def, safety)
lemma p2_p3_lemma1: "(∀k. Component i ∈ stable ({s. s C = s (c i) + sumj I i k} ∩ {s. ∀v. v≠c i & v≠C --> s v = k v})) = (Component i ∈ stable {s. s C = s (c i) + sumj I i s})" apply (simp add: Component_def mk_total_program_def) apply (auto simp add: constrains_def stable_def sumj_upd_C sumj_upd_ci) done
lemma p2_p3_lemma2: "∀k. Component i ∈ stable ({s. s C = s (c i) + sumj I i k} Int {s. ∀v. v≠c i & v≠C --> s v = k v})" by (blast intro: stable_Int [OF p2 p3])
lemma p2_p3: "Component i ∈ stable {s. s C = s (c i) + sumj I i s}" by (auto intro!: p2_p3_lemma2 simp add: p2_p3_lemma1 [symmetric])
(* Compositional Proof *)
lemma sum_0': "(∧i. i < I ==> s (c i) = 0) ==> sum I s = 0" by (induct I) auto
(* I cannot be empty *) lemma safety: "0<I ==> (⊔i ∈ {i. i<I}. Component i) ∈ invariant {s. s C = sum I s}" apply (simp (no_asm) add: invariant_def JN_stable sum_sumj) apply (force intro: p2_p3 sum_0') done
end
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.8 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.