PivotAndUpdate_axioms_def: fixes eq_idx_for_lvar :: "(nat \<times> linear_poly) list \<Rightarrow> nat \<Rightarrow> nat"   and pivot_and_update :: "nat \<Rightarrow> nat \<Rightarrow> 'a \<Rightarrow> ('b, 'a) state \<Rightarrow> ('b, 'a) state" shows "PivotAndUpdate_axioms eq_idx_for_lvar pivot_and_update \<equiv> (((\<forall>s x\<^sub>i x\<^sub>j c. \<triangle> (\<T> s) \<longrightarrow> \<nabla> s \<longrightarrow> x\<^sub>i \<in> lvars (\<T> s) \<longrightarrow> x\<^sub>j \<in> rvars_eq (EqForLVar.eq_for_lvar eq_idx_for_lvar (\<T> s) x\<^sub>i) \<longrightarrow> \<U> (pivot_and_update x\<^sub>i x\<^sub>j c s) = \<U> s) \<and> (\<forall>s x\<^sub>i x\<^sub>j c. \<triangle> (\<T> s) \<longrightarrow> \<nabla> s \<longrightarrow> x\<^sub>i \<in> lvars (\<T> s) \<longrightarrow> x\<^sub>j \<in> rvars_eq (EqForLVar.eq_for_lvar eq_idx_for_lvar (\<T> s) x\<^sub>i) \<longrightarrow> \<U>\<^sub>c (pivot_and_update x\<^sub>i x\<^sub>j c s) = \<U>\<^sub>c s)) \<and> (\<forall>s x\<^sub>i x\<^sub>j c. \<triangle> (\<T> s) \<longrightarrow> \<nabla> s \<longrightarrow> x\<^sub>i \<in> lvars (\<T> s) \<longrightarrow> x\<^sub>j \<in> rvars_eq (EqForLVar.eq_for_lvar eq_idx_for_lvar (\<T> s) x\<^sub>i) \<longrightarrow> \<B>\<^sub>i (pivot_and_update x\<^sub>i x\<^sub>j c s) = \<B>\<^sub>i s) \<and> (\<forall>s x\<^sub>i x\<^sub>j c. \<triangle> (\<T> s) \<longrightarrow> \<nabla> s \<longrightarrow> x\<^sub>i \<in> lvars (\<T> s) \<longrightarrow> x\<^sub>j \<in> rvars_eq (EqForLVar.eq_for_lvar eq_idx_for_lvar (\<T> s) x\<^sub>i) \<longrightarrow> \<triangle> (\<T> (pivot_and_update x\<^sub>i x\<^sub>j c s))) \<and> (\<forall>s x\<^sub>i x\<^sub>j v c. \<triangle> (\<T> s) \<longrightarrow> \<nabla> s \<longrightarrow> x\<^sub>i \<in> lvars (\<T> s) \<longrightarrow> x\<^sub>j \<in> rvars_eq (EqForLVar.eq_for_lvar eq_idx_for_lvar (\<T> s) x\<^sub>i) \<longrightarrow> v \<Turnstile>\<^sub>t \<T> s = v \<Turnstile>\<^sub>t \<T> (pivot_and_update x\<^sub>i x\<^sub>j c s))) \<and> ((\<forall>s x\<^sub>i x\<^sub>j c. \<triangle> (\<T> s) \<longrightarrow> \<nabla> s \<longrightarrow> x\<^sub>i \<in> lvars (\<T> s) \<longrightarrow> x\<^sub>j \<in> rvars_eq (EqForLVar.eq_for_lvar eq_idx_for_lvar (\<T> s) x\<^sub>i) \<longrightarrow> \<langle>\<V> s\<rangle> \<Turnstile>\<^sub>t \<T> s \<longrightarrow> \<langle>\<V> (pivot_and_update x\<^sub>i x\<^sub>j c s)\<rangle> \<Turnstile>\<^sub>t \<T> s) \<and> (\<forall>s x\<^sub>i x\<^sub>j c. \<triangle> (\<T> s) \<longrightarrow> \<nabla> s \<longrightarrow> x\<^sub>i \<in> lvars (\<T> s) \<longrightarrow> x\<^sub>j \<in> rvars_eq (EqForLVar.eq_for_lvar eq_idx_for_lvar (\<T> s) x\<^sub>i) \<longrightarrow> rvars (\<T> (pivot_and_update x\<^sub>i x\<^sub>j c s)) = rvars (\<T> s) - {x\<^sub>j} \<union> {x\<^sub>i})) \<and> (\<forall>s x\<^sub>i x\<^sub>j c. \<triangle> (\<T> s) \<longrightarrow> \<nabla> s \<longrightarrow> x\<^sub>i \<in> lvars (\<T> s) \<longrightarrow> x\<^sub>j \<in> rvars_eq (EqForLVar.eq_for_lvar eq_idx_for_lvar (\<T> s) x\<^sub>i) \<longrightarrow> lvars (\<T> (pivot_and_update x\<^sub>i x\<^sub>j c s)) = lvars (\<T> s) - {x\<^sub>i} \<union> {x\<^sub>j}) \<and> (\<forall>s x\<^sub>i x\<^sub>j x c. \<triangle> (\<T> s) \<longrightarrow> \<nabla> s \<longrightarrow> x\<^sub>i \<in> lvars (\<T> s) \<longrightarrow> x\<^sub>j \<in> rvars_eq (EqForLVar.eq_for_lvar eq_idx_for_lvar (\<T> s) x\<^sub>i) \<longrightarrow> x \<notin> lvars (\<T> s) - {x\<^sub>i} \<union> {x\<^sub>j} \<longrightarrow> Mapping.lookup (\<V> (pivot_and_update x\<^sub>i x\<^sub>j c s)) x = (if x = x\<^sub>i then Some c else Mapping.lookup (\<V> s) x)) \<and> (\<forall>s x\<^sub>i x\<^sub>j c. \<triangle> (\<T> s) \<longrightarrow> \<nabla> s \<longrightarrow> x\<^sub>i \<in> lvars (\<T> s) \<longrightarrow> x\<^sub>j \<in> rvars_eq (EqForLVar.eq_for_lvar eq_idx_for_lvar (\<T> s) x\<^sub>i) \<longrightarrow> \<nabla> (pivot_and_update x\<^sub>i x\<^sub>j c s))"