locale fixes'a::gyrocommutative_gyrogroup ==> fixes<>y. ∀ dom ∧ fixes plus'::"real ==> real ==> real" fixes smult'::"real ==> real ==>real" (*fixes zero'::"real"*)<> zero ⟶!r::real. y = smult r x))" assumes "inj fi" assumes "norm (fi (gyr u v a)) = norm assumesscale a = a" assumes "scale (r1fixesfi ::"'a::gyrocommutative_gyrogroup ==>cal ::"real ==> 'a" assumes "scaler1) a scale (scale a)" sumes "(noteq ∧ r≠0)⟶ (fi ( ∣ a)) //normfi" assumes "gyr u v (scale r a) = scale r (gyr u v a)" assumes "inj" assumes " {x.<existsa x = - norm (fi a)} plus' 0 smult assumes"norm (fi (scale r a))assumes "" assumes "normfi( \oplus ) = plus' (norm (fi a)) ((norm (fi b))" begin end
class gyrolinear_space = gyrocommutative_gyrogroup + fixes scale :: "real "gyr u v (scaler a) scale r (gyr u v a)" assumes: "∧<> a = a" assumes scale_distrib: "∧<>a. x= or fi <o> x = -nr fi a)}pu sm e_assoc: "<>( :: real( :: reala: 'a) r1r2) ⊗ (r2 ⊗ assumes gyroauto_property: "∧ (u :: 'a) (v :: 'a) (r :: real ssumes " (fi (a <> ) =plus'(normfi norm b assumes gyroauto_id: "∧ 'a::gyrocommutative_gyrogroup ==>"105)
definition java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5 "norms_neg = (<lambda>x. -1 * norm'' x) ` UNIV"
definition norms_all
on
lemma norms_neq_not_empty "x=" shows>{}" using add.inverse_inverse norms_neg_def by fastforce
lemma zero_only_norms_norms_neg: assumes "x∈f':: real ==>. ((∀y::real. ( x∈ y ∈ x>y)⟶y)) shows"x=0" by (smt (verit, ccfv_threshold) assms(1) assms(2) f_inv_into_f normed_gyrolinear_space_axioms normed_gyrolinear_space_def norms_def norms_neg_def)
lemma a1_a2: shows"∃f':: real ==> real. ((∀x::real. ∀y::real. ( x∈norms_all ∧ y ∈norms_all ∧x>y)⟶ (f' x) > (f' y)) ∧ bij_betw f' norms_all UNIV)" proof- let ?f' = "λx. if x=0 then 0 else if (x ∈ have fact: "?0" by a fact3: "?f'00java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25 moreover fact1x::real. ∀norms_all <andynorms_all x>y)⟶ proof-
{fix x y assume"x∈ "norms_all ∧norms_all ∧ have"have ""x==0∨0"by blast proofmoreover have"x=0 ∨ { assume "x=0" then have ?thesis by (smt (verit, del_insts) Un_def ‹ a y < x›_ } moreover { "<0" have "x∈norms ∨ x∈norms_neg" using ‹x ∈ norms_all ∧ y ∈ norms_all ∧ y < x› norms_all_def by force moreover { assume "x∈norms\open<>norms_all ∧ y <in y < x› then"y=0∨0" by blast moreover { assume"y=0" thenhave ?thesis by (smthave ?hesisjava.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
} moreover assume"y≠asse "0" have "y∈ y∈x ∈ norms_all ∧ y ∈norms_all y < x›
<>x ∈ norms_all ∧ y ∈ norms_all ∧ y < x› norms_all_def by auto moreover assume"y∈y ≠ 0› zero_only_norms_norms_neg by fastforce then h using <open>y \in norms_neg› norms_def norms_neg_def by force by smt (z3‹x ∈ norms_all ∧ y n∧ y < x›x ≠ 0› (uleccontr) } moreover { assume "y\bysmt(erittel_insts<>y<noteq>0\<close>calculation(1)calculation(2)f_inv_into_fnormed_gyrolinear_space_axiomsnormed_gyrolinear_space_defnorms_defrangeI) thenhave"?f'yy using\ er-<innorms" using\<open>y\<in>norms_neg\<close>norms_defeg_defyforcece moreoverhave"?f\<>0 by(smt(verit,ccfv_threshold)calculation(1ulationion2ormed_gyrolinear_space_axiomsolinear_space_defrms_def_ef moreoverhave"?f'y\byt)calculationlation()f_inv_into_finto_f_ormed_gyrolinear_space_axiomsolinear_space_axioms_gyrolinear_space_def_ef proof(ruleccontr) assume"\<not>(?f'y\<noteq>0)" thenshowFalse smtveritel_insts\<>y\<noteq0\<close>calculation(1)calculation(2)f_inv_into_fnormed_gyrolinear_space_axiomsnormed_gyrolinear_space_defnorms_defrangeI qed "<rra.sup(ra::real)r=suprra" by(smt(z3)\<open>x\<in>norms\<closeed_gyrolinear_space_axiomsce_axiomsomsormed_gyrolinear_space_defolinear_space_def_space_deforms_def) ultimatelyhave?thesisjava.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20 } ultimatelyhave?thesisbyblast }moreover{ assume"x\<in>norms_neg" thenhave?thesis by(smtit,el_instsn_defdef<open<in>norms_all\<and>y\<in>norms_all\<and>yx<close>f_inv_into_fmem_Collect_eqnormed_gyrolinear_space.norms_neg_defnormed_gyrolinear_space_axiomsnormed_gyrolinear_space_defnorms_all_defnorms_defrangeI)
} ultimatelyhave?thesislastt }ultimatelyshow?thesisbyblast qed } thenshow?thesisbyblast qed moreoverhavefact2:"bij_betwqed proof- have*:"\<forall>x.\forally.(x\<in>norms_all\<and>y\<in>norms_all\<and>(?f'x)=(?f'y))\<longrightarrow>x=y" by(smt(verit,ccfv_thresholdsholdldalculation ave"\forallx::real.\<exists>y.(y\<in>norms_all\<and>?fy)java.lang.StringIndexOutOfBoundsException: Index 88 out of bounds for length 88 proof- have"\<forall>x::real.(x\<ge>0\<longrightarrow>(\<exists>y.(y\<in>norms\<and>f) moreoverassumes"\in>norms""x\<in>norms_neg" by(simpadd:calculation) moreoverhave"\< by(smt(z3)calculation(1)f_inv_into_fnormed_gyrolinear_space_axiomsnormed_gyrolinear_space_defms_defjava.lang.StringIndexOutOfBoundsException: Index 118 out of bounds for length 118 moreoverhave<>::real.(x<0\<longrightarrow>(\<exists>y.(y\<in>norms_negnegg<>f))" usingcalculation(2)norms_defnorms_neg_defbyauto moreoverhave"\<forall>x::real.(x<0\<longrightarrow>(\<exists>y.(y\<in>norms_neg\<and>(?f')=x by(smt()calculationion()culation(f_inv_into_formed_gyrolinear_space_axioms_efs_defefs_neg_defeg_deffI moreoverhave"forall::real.(x\<ge>0\<or>x<0)" by(simpadd:linorder_le_less_linear ultimatelyshow?thesis proof- {fixrr::real haveff1:"\<forall>r.(r::real)<0\<or>0\<le>r" (smt(z3)) haveff2:"\<forall>rra.sup(ra::real)r=suprra" by(smt(z3)inf_sup_aci(5)) haveff3:"\<forall>RRa.(Ra::et)\unionR=R\<union>Ra" by(smt(z3)Un_commute) haveff4:"\<forall>rra.(r::real)\<le>sup" bysimp haveff5:"\<forall>RRa.(R::realset)\<subseteq>Ra\<union>R" by(smttis(ono_tagsftinggUNIV_I\>\<in>norms_all\<close>bij_betw_defcalculation(4)inv_into_intonorm_oplus_f_defnormed_gyrolinear_space'.norms_neg_defnormed_gyrolinear_space'_axiomsnormed_gyrolinear_space'_defnorms_all_defnorms_def) haveff6:"\<forall>r:eal<le>r bynorms_all<Longrightarrow>\>\^sub>fy=y\<oplus>\<^sub>fx" haveff7:"\<forall>rby(impddddorm_oplus_f_def byblast haveff8:"\<forall>r.-(-(rproof- verit_minus_simplify(4)byblast haveff9:"-(0::real)=0" by(smtsubf0=(inv_intonorms_allf')((f'x)+(f'0))" by(smt(verit,del_insts)\>\<in>norms_all\<close>bij_betw_definv_into_f_eqnormed_gyrolinear_space'.norms_neg_defnormed_gyrolinear_space'_axiomsnormed_gyrolinear_space'_defnorms_all_defnorms_def) using\<open>\<forall>xy.x\<in>norms_all\<and thenhave"\<forall>r.(ifr=0thennormsthenfrelseifr\<in>ms_negthen-relseendefineded)<noteq(ifTruethen0elseif0\<in>normsthenf0elseif<>norms_negs_negthen-f0lseinedd\orr=0\<or>0\<notin>norms_all\<or>r\<notin>norms_all" usingff9by(smt(z3)) r.(ifr=0then0ser<>normsthenfrelseifr\<in>orms_neggen()seundefinedned=r<>r<>norms_allor(<exists>r.(ifr=0then0elseifr\<in>normsthenfrelseifr\<in>norms_negthen-f(rsedefinededr\and>r\<in>norms_all)" f6f43f1\\<forall>x<0.\<exists>y.y\<in>norms_neg\<and>f(-y)=-x\<close>\<open>\<forall>x\<ge>0.\<exists>y.y\<in>norms\<and>(ify=0then0elseify\<in>normsthenfyelseify\<in>norms_negthen-f(-y)elseundefined)=x\<close>\<open>\<forall>x\<ge.<existsy.y\<in>norms\andfy=x\<close>if_Truenorms_all_defzero_only_norms_norms_negbymoura} thenshow?thesis byblast qed qed moreoverhave"inj_on?f'norms_all" using"*"inj_on_defbyblast moreoverve*\forall>x::real.\<exists>y\<in>norms_all.('x using"**"byblast moreoverhave"?f'`norms_all=UNIV" proof- have"?f'`norms_all\<subseteq>UNIV" byblast moreoverhave proof- fixx::real have"\<exists>y\<in>norms_all.(?f'y=show1><^sub>fx\<and>y=r2otimes<^sub>fx\<longrightarrow>r1=r2" using"**"byblast thenhave"x\<in>(?f'`norms_all" bylast thenhave"\<forall>x::real.(x\<nv_intonorms_allll'=(_orms_allllf) by(smt(verit,del_insts)"**"image_iff_ntonorms_all)2(x thenshow?thesis byblast qed ultimatelyshow?thesis byforce qed imatelywij_betw'rms_allallllUNIVV" using<Rightarrowreal" qed moreoverhavefact_fin:"((\<forall>x::real.\forall>y::real.(x\<in>norms_all\<norms_all\<and>x>y)\<longrightarrow>?x>') \ using"ms=orm`V ultimatelyshow?thesis usingfact_fin by(smt(verit,del_insts)) qed
lemmavector_space_of_norms shows"vector_space_with_domainnorms_allnorm_oplus_f0norm_otimes_f" proof fixx show"x\<in> proof- st show"y\<in>norms_all\<Longrightarrowreal\<tarrowowreal<>bool"where proof- assume"y\<in>norms_all" show"x\<oplus>\<^sub>fy\<in>norms_all" _<pen>x\<in>norms_all\<close>\<open>y\<in>norms_all\<close>bij_betw_definv_into_intonorm_oplus_f_defnormed_gyrolinear_space'.norms_neg_defnormed_gyrolinear_space'_axiomsnormed_gyrolinear_space'_defnorms_all_defnorms_def) qed by(etisUNIV_I\<open>g_isog\closebij_betw_iff_bijectionsg_iso_defminus_equation_iffmult_cancel_right2mult_minus_left) next show"0\<in>norms_all" (Un_iffnormed_gyrolinear_space'_'_norms_def) next fixxyz show"x\<in>norms_all\<Longrightarrow> y\<in>norms_all\<Longrightarrow>z\<in>norms_all\<Longrightarrow>x\<oplus>\<^sub>fy\<oplus>\<^sub>fz=x\<oplus>\<^sub>f(y\<oplus>\<^sub>fz)" proof- assume"x\<in>norms_all" show"y\<in>norms_all\<Longrightarrow>z\<in>norms_all\<Longrightarrow>x\<oplus>\<^sub>fy\<oplus>\<^sub>fz=x\<oplus>\<^sub>f(y\<oplus>\<^sub>fz)" proof-shows"\<exists>g.(g_isog\<and>(\<forall>x(x\in>orms\<longrightarrow>(gx)\<ge>0)) assume"y\<in>norms_all" show"z\<in>norms_all\<Longrightarrow>obtainx"herenorm'x=xx" proof- assume"z\<in>norms_all" x<\<^sub>fy\<oplus>\<^sub>fz=x\<oplus>\<^sub>f(y\<oplus>\<^>fz) proof- have"x\<oplus>\<^sub>fy=(inv_intonorms_allthenavexx= by moreoverhave"x\<oplus>\<^sub>f f'((inv_intonorms_allf')((f'x)+(f'y))))fz" by(metis(no_types,liftingNIV_I<openopen>z\<in>norms_all\<close>bij_betw_imp_surj_oncalculationinv_into_intonorm_oplus_f_defnormed_gyrolinear_space'.norms_neg_defnormed_gyrolinear_space'_axiomsnormed_gyrolinear_space'_defnorms_all_defnorms_defjava.lang.StringIndexOutOfBoundsException: Index 270 out of bounds for length 270 moreoverhave"x\<oplus>\<^sub>fy\<oplus>\<^sub>fz=(inv_intonorms_allB{'(r\<>y)|r::real.True}" by(metis(mono_tags,lifting)UNIV_Ibij_betw_imp_surj_oncalculation(2)f_inv_into_fnormed_gyrolinear_space'.norms_neg_defnormed_gyrolinear_space'_axiomsnormed_gyrolinear_space'_defnorms_all_defnorms_def) moreoverhave"(y\<oplus><sub>=nv_intoorms_all('('zjava.lang.StringIndexOutOfBoundsException: Index 95 out of bounds for length 95 by(simpadd:\<open>y\<in>norms_all\<close>\<open>z\<in>norms_all\<close>norm_oplus_f_def) moreoverhave"x\<oplus>\<^sub>f(y\<oplus>\moreoverhave"?gA\<subseteq>{r::real.r\<ge>0}" (f'((inv_intonorms_allf')((f'y)+(f'z)))))" by(metis(o_tags,ftingV_I<>x\>norms_all\<close>bij_betw_defcalculation(4)inv_into_intonorm_oplus_f_defnormed_gyrolinear_space'.neg_defmed_gyrolinear_spacenear_spacemsnormed_gyrolinear_spacerolinear_spaceorms_all_defl_defefrms_def_f) moreoverhave"x\<oplus>\<^sub>f(y\<oplus>\<^sub>fz)=(inv_intonorms_allf')((f'x)+ ((f'y)+(java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29 qed ultimatelyshow?thesis byargo qed qed qed qed next fixxy <norms_all\<Longrightarrow>y\<in>norms_all\<Longrightarrow>x\<oplus>\<^sub>f\<oplus>\^sub>fx" proof- assumemoreoverhave?agorm(\otimes>y))" show"y\<in>norms_all\<Longrightarrow>x\<oplus>\<^sub>fy=y\<oplus>\<^sub>fx" proof- assume"y\<in>norms_all" show"x\<oplus>\<^sub>fy=java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15 by(simpadd:add.commutenorm_oplus_f_def) qed next fixx show"x\<in>norms_all\<Longrightarrowoplus\<^sub>f0=x" proof- assume"x\<in>norms_all" show"x\<oplus>\<^sub>f0=x" proof- "x\oplus\<^sub>f0=(inv_intonorms_allf')((f'x)+(f'0))" by(metis(ags,liftingting)Un_iffff<>\<in>norms_all\<close>norm_oplus_f_defnormed_gyrolinear_space'_axiomsnormed_gyrolinear_space'_defnorms_all_defnorms_defrangeI) thenshow?thesis by(smt(ritt,el_inststs<penx\<in>norms_all\<close>bij_betw_definv_into_f_eqnormed_gyrolinear_space'.norms_neg_defnormed_gyrolinear_space'_axiomsnormed_gyrolinear_space'_defnorms_all_defnorms_def) qedhave<barr'\<bar>*(?g(norm'y))" qed next fixx show"x\innorms_all\<Longrightarrow>\<exists>y\<in>norms_all.x\<oplus^fy=0" l" show"\<exists>y\<in>norms_all.x\<oplus>\<^sub>fy=0" proof- let?y="(inv_intoreoveroverhavegA_union_BA\<>?gB" have"x\<oplus>\^sub>f?y=(inv_intonorms_allf')((f'x)+(f'?y))" by(smt(verit,ccfv_SIG)\<open>x\<in>norms_alllclosebij_betwEbij_betw_inv_intof_inv_into_finv_into_intonorm_oplus_f_defnormed_gyrolinear_space'.norms_neg_defnormed_gyrolinear_space'_msrmed_gyrolinear_spacerolinear_spacespacedef_ll_defefforms_def) moreoverx<oplus><^>?y=(inv_intonorms_allf')((f'x)+(-(f'x)))" by(smt(verit, moreoverhave"x\<oplus>\<^sub>f?y=(inv_intonorms_allf')0" culationforce moreoverhave"x<\<^sub>f?y=0" by(metis(no_types,lifting)Un_iffnlambdax.-1*gxelseg)a\<notin>{(ifgxx<0then\<lambda>x.-1*gxelseg)x|x.x\<in>norms}\<seyblastt moreoverhave"?y\<in>norms_all" by(metis(no_types,lifting)java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2 ultimatelyshow?thesis byst qed qed next fixa show"x\<in>norms_all\<Longrightarrow<><^sub>fx\<in>norms_all" proof- assume"x\<in>norms_all" show\times>\<^sub>fx\<in>norms_all" by(smt(verit,best)\<open>x\<in>norms_all\<close>lculationonastforcerce qed next fixxab show"x\<in>norms_all\<Longrightarrow>(a+proof proof- assume"x\<in>norms_all" showmoreoverhaver<>r'\bar*(?gxx)" proof have"(a+b)\<otimes>\>x=(inv_intonorms_allf')((a+b)*(f'x))" using\<open>x\<ing_isoxx0then\<lambda>x.-1*gxelseg)\<close>\<open>norm'x=xx\<close>\<open>xx\<in>norms\<and>xx\<noteq>0\<loseecalculationtion)defrms_all_defl_defuto moreover"+)otimes\<^sub>fx=(inv_intonorms_allf(*'java.lang.StringIndexOutOfBoundsException: Index 97 out of bounds for length 97 usingcalculationbyargo \<forall>y.(ifgxx<0then\<lambda>x.-1*gxelseg)(norm'y)\<in>{(ifgxx<0then\<lambda>x.-1*gxelseg)a|a.a\<in>{norm(<otimesx)byblast ((f'(a\<otimes>\<^sub>fx))+(f'assume<lambdax.-1*(xjava.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57 proof- have"\<And>f.\<not>normed_gyrolinear_space'norm'f\or>ij_betwnorms_allIV by(metis(no_types)normed_gyrolinear_space'.norms_neg_defnormed_gyrolinear_space'_defnorms_all_defnorms_def) thenhowthesis by(metis(full_types)UNIV_I\<open>x\<in>norms_all\<close>bij_betw_imp_surj_oninv_into_intonorm_oplus_f_defnorm_otimes_f_defnormed_gyrolinear_space'_axioms) qed moreoverhave**:"(inv_intonorms_allf') ((f'(a\<otimes>\<^sub>fx))+(f'(b\<otimes>\<^sub>fx)))=(inv_intonorms_allf') ((f'((inv_intonorms_allf')(a*(f'x))))+ ('((inv_intonorms_allf')(b*(f'x)))))" using\<open>x\<in>norms_all\<close>norm_otimes_f_defbypresburger moreoverea<><^sub>fx\<oplus>\<^sub>f(b\<otimes>\<^sub>fx)v_intoms_allalll'*)(f)java.lang.StringIndexOutOfBoundsException: Index 137 out of bounds for length 137 using*** bysmtrit,v_thresholdij_betw_imp_surj_onsurj_onj_onnf_inv_into_fgyrolinear_spacerms_neg_deformed_gyrolinear_spaceolinear_space_eiomsnormed_gyrolinear_spaceear_spaceefnorms_all_defrms_defdef ultimatelyshow?thesis bypresburger qednj_on_def_ef qed next fixxab show"x\<in>norms_all\<Longrightarrow>a\<avetep2<>r:eal\ge0\<longrightarrow>(\<exists>x\<in>norms.(?fx=r)))" proof- ex<>orms_all show"a\<otimes>\<^sub>f(b\<otimes>\<^sub>fx)=(a*(impaddbetw_def by(rittUNIV_Iopenx\<in>norms_all\<close>ab_semigroup_mult_class.mult_ac(1)bij_betw_imp_surj_onf_inv_into_finv_into_intonorm_otimes_f_defnormed_gyrolinear_space'.norms_neg_defnormed_gyrolinear_space'_axiomsnormed_gyrolinear_space'defms_all_defdef next fixx show"x\<in>norms_all\<Longrightarrow>1\<otimes>\<^sub>fx=have?thesis proof- assume"x\<in>norms_all" show"1\<otimes>\<^sub>fx=x" proof- have"1\<otimes>\<^sub>fx=(inv_intonorms_all')1() using\<open>x\<in>norms_all\<close>norm_otimes_f_defbypresburger thenshow?thesis by(metis(no_types,lifting)\<open>x\<in>norms_all\<close>bij_betw_inv_into_leftlambda_onenormed_gyrolinear_space'norms_neg_defnormed_gyrolinear_space_normed_gyrolinear_space_norms_all_defnorms_def qed qed next show"\<And>xya. x\<in>norms_all\<Longrightarrow> y\<in>norms_all\<Longrightarrow>a\<otimes>\<^sub>f(x\<oplus>\<^sub>fy)=a\<otimes>\<^sub>fx\<oplus>\<^sub>f(a\<otimes>\<^sub>fy)" proof- { xya assume"x\<in>norms_all\<and>y\<in>norms_all" have"a\<otimes>\<^sub>f(x\<oplus>\<^sub>fy=(nv_intonorms_allms_allf)af'((inv_intonorms_allf')((fxf))) by("otimes'\<alpha>(norm'x)=norm'(\<alpha><otimes>)" moreoverhave"a\<otimes>^ubf><^sub>f(a\<otimes>\<^sub>fy)=(inv_intonorms_allf')((f'_ntonorms_allfa*())((v_intorms_all*f))" by(smt(verit)\<open>x\<in>norms_all\<and>y\<in>norms_all\<close>bij_betw_definv_into_intoiso_tuple_UNIV_Inormed_gyrolinear_space'.norm_oplus_f_defnormed_gyrolinear_space'.norm_otimes_f_defnormed_gyrolinear_space'.norms_neg_defnormed_gyrolinear_space'_axiomsnormed_gyrolinear_space'_defnorms_all_defnorms_def) ultimatelyhave"a\<otimes>\<^sub>f(x\<oplus>\<^sub>fy)=a\<otimes>\<^sub>fx\<oplus>\<^sub>f(a\<otimes>\<^sub>fy)" usingUNIV_Iij_betw_imp_surj_on_p_surj_on_onf_inv_into_fed_gyrolinear_spaceolinear_spacepaceace'xiomsnormed_gyrolinear_spaceyrolinear_spaceear_space_acedeforms_all_deforms_defms_neg_defneg_defdeffing_classring_distribsg_distribsstribs) by(smtverit,best)normed_gyrolinear_space'.norms_neg_def) } show"\<And>xa x\<in>norms_all\<Longrightarrow> y\<in>norms_all\<Longrightarrow>a\<otimes>\<^sub>f(x\<oplus>\<sub>)<><^sub>fx\<oplus>\<^sub>f(a\<otimes>\<^sub>fy)" using\<open>\<And>yxa.x\<in>norms_all\<and>y\<in>norms_all\<Longrightarrow>a\<otimesqed qed qed
lemmaiso_with_real:
assumes "\<exists>x. (x\<in>norms_all \<and> x\<noteq>0)" (* not trivial domain *) shows"∃g. (bij_betw g norms_all UNIV ∧ (g 0) = 0 ∧ (∀u.∀v. (u∈norms_all ∧ v∈norms_all ⟶ g (oplus' u v) = (g u) + (g v))) ∧ (∀u.∀r::real. (u∈norms_all ⟶ g (otimes' r u) = r*(g u))) )"(*\<and> (\<forall>u. (u\<in>norms \<longrightarrow> (g u)\<ge>0))*) proof- obtain"x"where"x∈norms ∧ x≠0" using assms not_trivial_domen_has_pos by presburger moreoverhave"x∈ norms_all" by (simp add: calculation norms_all_def) have"∀y. (y∈norms_all ⟶ (∃!r.(y = otimes' r x)))" using ax_space one_dim_vector_space_with_domain_axioms_def by (metis ‹x ∈ norms_all› calculation norms_all_def norms_def norms_neg_def one_dim_vector_space_with_domain.axioms(2)) let ?g = "λy. (THE r. y = otimes' r x)" have"bij_betw ?g norms_all UNIV" proof- have"inj_on ?g norms_all" by (smt (verit, best) ‹∀y. y ∈ norms_all ⟶ (∃!r. y = otimes' r x)› inj_on_def the_equality) moreoverhave"∀r::real. ∃y. (y∈ norms_all ∧ y = otimes' r x)" by (metis ‹x ∈ norms_all› ax_space norms_all_def norms_def norms_neg_def one_dim_vector_space_with_domain.axioms(1) vector_space_with_domain.smult_closed) moreoverhave"∀r::real.∃y∈norms_all. ?g y = r" using‹∀y. y ∈ norms_all ⟶ (∃!r. y = otimes' r x)› calculation(2) by blast ultimatelyshow ?thesis by (smt (verit, ccfv_threshold) UNIV_eq_I bij_betw_apply inj_on_imp_bij_betw) qed moreoverhave"?g 0 = 0" proof- obtain"r"where"0 = otimes' r x" by (metis ‹∀y. y ∈ norms_all ⟶ (∃!r. y = otimes' r x)› ax_space norms_all_def norms_def norms_neg_def one_dim_vector_space_with_domain_def vector_space_with_domain.zero_in_dom)
moreoverobtain"xx"where"x=norm' xx " using norms_all_def using norms_def norms_neg_def using‹x ∈ norms ∧ x ≠ 0›by auto
moreoverhave"otimes' 0 x = norm' (0 ⊗ xx)" by (metis (no_types, lifting) calculation(2) norm_zero normed_gyrolinear_space''_axioms normed_gyrolinear_space''_def real_norm_def) moreoverhave"otimes' 0 x = 0" by (smt (verit, ccfv_threshold) ‹∀y. y ∈ norms_all ⟶ (∃!r. y = otimes' r x)›‹x ∈ norms_all› ax_space norms_all_def norms_def norms_neg_def one_dim_vector_space_with_domain.axioms(1) vector_space_with_domain_def) ultimatelyshow ?thesis by (smt (verit) ‹∀y. y ∈ norms_all ⟶ (∃!r. y = otimes' r x)› ax_space norms_all_def norms_def norms_neg_def one_dim_vector_space_with_domain.axioms(1) the1_equality vector_space_with_domain.zero_in_dom) qed moreoverhave"∀u.∀v. (u∈norms_all ∧ v∈norms_all ⟶ ?g (oplus' u v) = (?g u) + (?g v))" proof fix u show"∀v. (u∈norms_all ∧ v∈norms_all ⟶ ?g (oplus' u v) = (?g u) + (?g v))" proof fix v show"u∈norms_all ∧ v∈norms_all ⟶ ?g (oplus' u v) = (?g u) + (?g v)" proof assume"u∈norms_all ∧ v∈norms_all" show" ?g (oplus' u v) = (?g u) + (?g v)" proof- obtain"a"where"u = otimes' a x" using‹∀y. y ∈ norms_all ⟶ (∃!r. y = otimes' r x)›‹u ∈ norms_all ∧ v ∈ norms_all›by blast moreoverobtain"b"where"v = otimes' b x" using‹∀y. y ∈ norms_all ⟶ (∃!r. y = otimes' r x)›‹u ∈ norms_all ∧ v ∈ norms_all›by blast moreoverhave *:"oplus' u v = otimes' (a+b) x" by (metis ‹x ∈ norms_all› ax_space calculation(1) calculation(2) norms_all_def norms_def norms_neg_def one_dim_vector_space_with_domain_def vector_space_with_domain.smult_distr_sadd) moreoverhave"oplus' u v ∈ norms_all" by (metis "*"‹x ∈ norms_all› ax_space norms_all_def norms_def norms_neg_def one_dim_vector_space_with_domain.axioms(1) vector_space_with_domain.smult_closed) moreoverhave"?g (oplus' u v) = (a+b)" using * using‹∀y. y ∈ norms_all ⟶ (∃!r. y = otimes' r x)› calculation(4) by auto ultimatelyshow ?thesis by (smt (verit, del_insts) ‹∀y. y ∈ norms_all ⟶ (∃!r. y = otimes' r x)›‹u ∈ norms_all ∧ v ∈ norms_all› the1_equality) qed qed qed qed moreoverhave"(∀u.∀r::real. (u∈norms_all ⟶ ?g (otimes' r u) = r*(?g u)))" proof fix u show"∀r::real. (u∈norms_all ⟶ ?g (otimes' r u) = r*(?g u))" proof fix r show"u∈norms_all ⟶ ?g (otimes' r u) = r*(?g u)" proof assume"u∈norms_all" show"?g (otimes' r u) = r*(?g u)" proof- obtain"a"where"u = otimes' a x" using‹∀y. y ∈ norms_all ⟶ (∃!r. y = otimes' r x)›‹u ∈ norms_all›by blast moreoverhave"otimes' r u = otimes' (r*a) x" by (metis ‹x ∈ norms_all› ax_space calculation norms_all_def norms_def norms_neg_def one_dim_vector_space_with_domain.axioms(1) vector_space_with_domain.smult_assoc) moreoverhave"otimes' r u ∈ norms_all" by (metis ‹u ∈ norms_all› ax_space norms_all_def norms_def norms_neg_def one_dim_vector_space_with_domain.axioms(1) vector_space_with_domain.smult_closed) moreoverhave"?g (otimes' r u) = (r*a)" using‹∀y. y ∈ norms_all ⟶ (∃!r. y = otimes' r x)› calculation(2) calculation(3) byauto ultimatelyshow ?thesis by (smt (verit, ccfv_threshold) ‹∀y. y ∈ norms_all ⟶ (∃!r. y = otimes' r x)›‹u ∈ norms_all› theI') qed qed qed qed
ultimatelyshow ?thesis by blast qed
definition g_iso::"(real==>real)==>bool"where "g_iso g ⟷ (bij_betw g norms_all UNIV ∧ (g 0) = 0 ∧ (∀u.∀v. (u∈norms_all ∧ v∈norms_all ⟶ g (oplus' u v) = (g u) + (g v))) ∧ (∀u.∀r::real. (u∈norms_all ⟶ g (otimes' r u) = r*(g u))))"
lemma iso_neg_with_real: assumes"∃x. (x∈norms_all ∧ x≠0)"(* not trivial domain *) shows"g_iso g ⟶ g_iso (λx. -1 * (g x))" proof assume"g_iso g" show" g_iso (λx. -1 * (g x))" proof- have"bij_betw (λx. -1 * (g x)) norms_all UNIV" proof- have"inj_on (λx. -1 * (g x)) norms_all" by (smt (verit, ccfv_threshold) ‹g_iso g› bij_betw_imp_inj_on g_iso_def inj_on_def) moreoverhave"∀r::real.∃y∈norms_all. ((λx. -1 * (g x)) y = r)" by (metis UNIV_I ‹g_iso g› bij_betw_iff_bijections g_iso_def minus_equation_iff mult_cancel_right2 mult_minus_left) ultimatelyshow ?thesis by (metis (mono_tags, lifting) UNIV_eq_I bij_betwE bij_betw_imageI) qed moreoverhave" (λx. -1 * (g x)) 0 = 0" using‹g_iso g› g_iso_def by force moreoverhave"(∀u.∀v. (u∈norms_all ∧ v∈norms_all ⟶ (λx. -1 * (g x)) (oplus' u v) = ( (λx. -1 * (g x)) u) + ( (λx. -1 * (g x)) v)))" using‹g_iso g› g_iso_def by auto moreoverhave"(∀u.∀r::real. (u∈norms_all ⟶ (λx. -1 * (g x)) (otimes' r u) = r*( (λx. -1 * (g x)) u)))" using‹g_iso g› g_iso_def by auto ultimatelyshow ?thesis using g_iso_def by presburger qed qed
lemma iso_with_real_positive_on_norms: assumes"∃x. (x∈norms_all ∧ x≠0)"(* not trivial domain *) shows"∃g. (g_iso g ∧ (∀x.(x∈norms ⟶ (g x)≥0)) \<and> bij_betw (λx. if x ∈ norms then (g x) else undefined) norms {r::real. r≥0})" proof- obtain"xx"where"xx∈norms ∧ xx≠0" using assms not_trivial_domen_has_pos by blast moreoverobtain"x"where"norm' x = xx" using calculation norms_def by auto moreoverobtain"g"where"g_iso g" using iso_with_real using assms g_iso_def by blast let ?g = "if (g xx) < 0 then (λx. -1 * (g x)) else g" have *:"?g xx ≥ 0" by force moreoverhave"?g xx ≠0" proof (rule ccontr) assume"¬(?g xx ≠0)" have"?g xx = 0" using‹¬ (if g xx < 0 then λx. - 1 * g x else g) xx ≠ 0›by blast thenhave"?g xx = g xx" by (smt (verit, ccfv_threshold)) thenhave"g xx = 0" by (simp add: ‹(if g xx < 0 then λx. - 1 * g x else g) xx = 0›) thenhave"xx=0" by (metis ‹g_iso g› ax_space bij_betw_iff_bijections calculation(1) g_iso_def in_mono inf_sup_ord(3) norms_all_def norms_def norms_neg_def one_dim_vector_space_with_domain.axioms(1) vector_space_with_domain.zero_in_dom) thenshow False using calculation(1) by blast qed moreoverhave"g_iso ?g" using‹g_iso g› assms iso_neg_with_real by presburger moreoverhave"∀x.(x∈norms ⟶ (?g x)≥0)" proof(rule ccontr) assume"¬(∀x.(x∈norms ⟶ (?g x)≥0))" have"∃x. (x∈norms ∧ (?g x) < 0)" using‹¬ (∀x. x ∈ norms ⟶ 0 ≤ (if g xx < 0 then λx. - 1 * g x else g) x)›by fastforce moreoverobtain"yy"where"yy ∈ norms ∧ (?g yy) <0" using calculation by blast moreoverobtain"y"where"norm' y = yy" using calculation(2) norms_def by auto let ?A = "{norm' (r ⊗ x) | r::real. True}" let ?B = "{norm' (r ⊗ y) | r::real. True}" have"?A ∪ ?B ⊆ norms" using norms_def by auto let ?gA = "{(?g a)|a. a∈?A}" have"?gA = {r::real. r≥0}" proof- have"∀a. (a∈?A ⟶ ?g a ≥0)" proof fix a show"(a∈?A ⟶ ?g a ≥0)" proof assume"a∈?A" show"?g a ≥0" proof- obtain"r"where"a = norm' (r ⊗ x) " using‹a ∈ {norm' (r ⊗ x) |r. True}›by blast moreoverhave"?g a = ?g (norm' (r ⊗ x) )" using calculation by presburger moreoverhave"?g a = ?g ( otimes' ∣r∣ (norm' x))" by (metis calculation(1) normed_gyrolinear_space''_axioms normed_gyrolinear_space''_def) moreoverhave"?g a = ∣r∣ * ?g (norm' x)" using‹g_iso (if g xx < 0 then λx. - 1 * g x else g)›‹norm' x = xx›‹xx ∈ norms ∧ xx ≠ 0› calculation(3) g_iso_def norms_all_def by auto ultimatelyshow ?thesis by (simp add: ‹norm' x = xx›) qed qed qed moreoverhave"?gA ⊆ {r::real. r≥0}" using calculation by fastforce moreoverhave"{r::real. r≥0} ⊆ ?gA" proof- have"bij_betw ?g norms_all UNIV" using‹g_iso (if g xx < 0 then λx. - 1 * g x else g)› g_iso_def by blast moreoverhave"∀r::real. (r≥0 ⟶ r∈?gA)" proof fix r show"r≥0 ⟶ r∈?gA" proof assume"r≥0" show"r∈?gA" proof- obtain"r'"where"∣r'∣ = r / (?g xx)" using * by (meson ‹0 ≤ r› abs_of_nonneg divide_nonneg_nonneg) moreoverhave"r = ∣r'∣ * (?g xx)" by (simp add: ‹(if g xx < 0 then λx. - 1 * g x else g) xx ≠ 0› calculation) moreoverhave"r = ∣r'∣ * (?g (norm' x))" using‹norm' x = xx› calculation(2) by blast moreoverhave"r = ?g (otimes' ∣r'∣ (norm' x))" using‹g_iso (if g xx < 0 then λx. - 1 * g x else g)›‹norm' x = xx›‹xx ∈ norms ∧ xx ≠ 0› calculation(3) g_iso_def norms_all_def by auto moreoverhave"r = ?g (norm' (∣r'∣⊗ x))" by (smt (verit, del_insts) calculation(4) normed_gyrolinear_space''_axioms normed_gyrolinear_space''_def) ultimatelyshow ?thesis by blast qed qed qed ultimatelyshow ?thesis by blast qed
ultimatelyshow ?thesis by fastforce qed let ?gB = "{(?g b)|b. b∈?B}" have"?gB = {r::real. r≤0}"
proof- have"∀a. (a∈?B ⟶ ?g a ≤0)" proof fix a show"(a∈?B ⟶ ?g a ≤0)" proof assume"a∈?B" show"?g a≤0" proof- obtain"r"where"a = norm' (r ⊗ y) " using‹a ∈ {norm' (r ⊗ y) |r. True}›by blast moreoverhave"?g a = ?g (norm' (r ⊗ y) )" using calculation by presburger moreoverhave"?g a = ?g ( otimes' ∣r∣ (norm' y))" by (metis calculation(1) normed_gyrolinear_space''_axioms normed_gyrolinear_space''_def) moreoverhave"?g a = ∣r∣ * ?g (norm' y)" using‹g_iso (if g xx < 0 then λx. - 1 * g x else g)›‹norm' y = yy›‹yy ∈ norms ∧ (if g xx < 0 then λx. - 1 * g x else g) yy < 0› calculation(3) g_iso_def norms_all_def by auto
ultimatelyshow ?thesis by (simp add: ‹norm' y = yy›‹yy ∈ norms ∧ (if g xx < 0 then λx. - 1 * g x else g) yy < 0› mult_le_0_iff order_less_imp_le) qed qed qed moreoverhave"?gB ⊆ {r::real. r≤0}" using calculation by fastforce moreoverhave"{r::real. r≤0} ⊆ ?gB" proof- have"bij_betw ?g norms_all UNIV" using‹g_iso (if g xx < 0 then λx. - 1 * g x else g)› g_iso_def by blast moreoverhave"∀r::real. (r≤0 ⟶ r∈?gB)" proof fix r show"r≤0 ⟶ r∈?gB" proof assume"r≤0" show"r∈?gB" proof- obtain"r'"where"∣r'∣ = r / (?g yy)" using * by (metis ‹r ≤ 0›‹yy ∈ norms ∧ (if g xx < 0 then λx. - 1 * g x else g) yy < 0› abs_if divide_less_0_iff less_eq_real_def not_less_iff_gr_or_eq) moreoverhave"r = ∣r'∣ * (?g yy)" using‹yy ∈ norms ∧ (if g xx < 0 then λx. - 1 * g x else g) yy < 0› calculation by auto moreoverhave"r = ∣r'∣ * (?g (norm' y))" using‹norm' y = yy› calculation(2) by blast moreoverhave"r = ?g (otimes' ∣r'∣ (norm' y))" using‹g_iso (if g xx < 0 then λx. - 1 * g x else g)›‹norm' y = yy›‹yy ∈ norms ∧ (if g xx < 0 then λx. - 1 * g x else g) yy < 0› calculation(3) g_iso_def norms_all_def by auto moreoverhave"r = ?g (norm' (∣r'∣⊗ y))" by (smt (verit, del_insts) calculation(4) normed_gyrolinear_space''_axioms normed_gyrolinear_space''_def) ultimatelyshow ?thesis by blast qed qed qed ultimatelyshow ?thesis by blast qed
ultimatelyshow ?thesis by fastforce qed
let ?gX_norms = "{(?g x)|x. x∈norms}" let ?gX_norms_all = "{(?g x)|x. x∈norms_all}" let ?gA_union_B = "{(?g x)|x. x∈ ?A∪?B}" have"?gA_union_B ⊆ ?gX_norms" using‹{norm' (r ⊗ x) |r. True} ∪ {norm' (r ⊗ y) |r. True} ⊆ norms›by force moreoverhave"?gA_union_B = ?gA ∪ ?gB" proof- have"?gA_union_B ⊆ ?gA ∪ ?gB" by blast moreoverhave"?gA ∪ ?gB ⊆ ?gA_union_B" by blast ultimatelyshow ?thesis by force qed moreoverhave"?gA_union_B = UNIV" using‹{(if g xx < 0 then λx. - 1 * g x else g) a |a. a ∈ {norm' (r ⊗ x) |r. True}} = {r. 0 ≤ r}›‹{(if g xx < 0 then λx. - 1 * g x else g) b |b. b ∈ {norm' (r ⊗ y) |r. True}} = {r. r ≤ 0}› calculation(4) by force moreoverhave"UNIV ⊆ ?gX_norms" using calculation(3) calculation(5) by argo (* moreover have "?gX_norms \<subset> ?gX_norms_all" proof- have"\<forall>a.(a\<in>?gX_norms\<longrightarrow>a\<in>?gX_norms_all)"
using norms_all_def by fastforce*) (*moreover have "\<exists>a. (a\<in>?gX_norms_all \<and> \<not>a\<in>?gX_norms)"
proof-*) obtain"a"where"a∈norms_all ∧¬a∈norms" by (metis (mono_tags, lifting) Un_iff add.inverse_inverse assms mult_minus1 norms_all_def norms_def norms_neg_def rangeE rangeI zero_only_norms_norms_neg) let ?a = "?g a" have"?a ∈ ?gX_norms_all "
using‹a ∈ norms_all ∧ a ∉ norms›by blast
moreoverhave"¬?a∈ ?gX_norms" proof(rule ccontr) assume"¬(¬?a∈ ?gX_norms)" have"?a∈?gX_norms" using‹¬ (if g xx < 0 then λx. - 1 * g x else g) a ∉ {(if g xx < 0 then λx. - 1 * g x else g) x |x. x ∈ norms}›by blast thenobtain"b"where"b∈norms ∧ ?g b = ?a" by force
thenshow False using‹a ∈ norms_all ∧ a ∉ norms›‹g_iso (if g xx < 0 then λx. - 1 * g x else g)› bij_betw_inv_into_left g_iso_def inf_sup_ord(3) norms_all_def subsetD by (smt (verit, ccfv_threshold) ‹g_iso g›) qed moreoverhave"False"
using‹UNIV ⊆ {(if g xx < 0 then λx. - 1 * g x else g) x |x. x ∈ norms}› calculation(7) by blast
ultimatelyshow False by auto qed
moreoverhave" bij_betw (λx. if x ∈ norms then (?g x) else undefined) norms {r::real. r≥0}" proof- let ?f = "(λx. if x ∈ norms then (?g x) else undefined)" let ?A = "{norm' (r ⊗ x) | r::real. True}" let ?gA = "{(?g a)|a. a∈?A}" have s1:"?gA = {r::real. r≥0}" proof- have"∀a. (a∈?A ⟶ ?g a ≥0)" proof fix a show"(a∈?A ⟶ ?g a ≥0)" proof assume"a∈?A" show"?g a ≥0" proof- obtain"r"where"a = norm' (r ⊗ x) " using‹a ∈ {norm' (r ⊗ x) |r. True}›by blast moreoverhave"?g a = ?g (norm' (r ⊗ x) )" using calculation by presburger moreoverhave"?g a = ?g ( otimes' ∣r∣ (norm' x))" by (metis calculation(1) normed_gyrolinear_space''_axioms normed_gyrolinear_space''_def) moreoverhave"?g a = ∣r∣ * ?g (norm' x)" using‹g_iso (if g xx < 0 then λx. - 1 * g x else g)›‹norm' x = xx›‹xx ∈ norms ∧ xx ≠ 0› calculation(3) g_iso_def norms_all_def by auto ultimatelyshow ?thesis by (simp add: ‹norm' x = xx›) qed qed qed moreoverhave"?gA ⊆ {r::real. r≥0}" using calculation by fastforce moreoverhave"{r::real. r≥0} ⊆ ?gA" proof- have"bij_betw ?g norms_all UNIV" using‹g_iso (if g xx < 0 then λx. - 1 * g x else g)› g_iso_def by blast moreoverhave"∀r::real. (r≥0 ⟶ r∈?gA)" proof fix r show"r≥0 ⟶ r∈?gA" proof assume"r≥0" show"r∈?gA" proof- obtain"r'"where"∣r'∣ = r / (?g xx)" using * by (meson ‹0 ≤ r› abs_of_nonneg divide_nonneg_nonneg) moreoverhave"r = ∣r'∣ * (?g xx)" by (simp add: ‹(if g xx < 0 then λx. - 1 * g x else g) xx ≠ 0› calculation) moreoverhave"r = ∣r'∣ * (?g (norm' x))" using‹norm' x = xx› calculation(2) by blast moreoverhave"r = ?g (otimes' ∣r'∣ (norm' x))" using‹g_iso (if g xx < 0 then λx. - 1 * g x else g)›‹norm' x = xx›‹xx ∈ norms ∧ xx ≠ 0› calculation(3) g_iso_def norms_all_def by auto moreoverhave"r = ?g (norm' (∣r'∣⊗ x))" by (smt (verit, del_insts) calculation(4) normed_gyrolinear_space''_axioms normed_gyrolinear_space''_def) ultimatelyshow ?thesis by blast qed qed qed ultimatelyshow ?thesis by blast qed
ultimatelyshow ?thesis by fastforce qed moreoverhave s2:"∀y. (?g (norm' y) ≥0)" using‹∀x. x ∈ norms ⟶ 0 ≤ (if g xx < 0 then λx. - 1 * g x else g) x› norms_def by blast moreoverhave"norms = ?A" proof- have"∀y. (?g (norm' y) ∈ ?gA)" using s1 s2 by blast moreoverhave"norms ⊆ ?A" proof- have"∀y. (y∈norms ⟶ y∈?A)" proof fix y show"y∈norms ⟶ y∈?A" proof assume"y∈norms" show"y∈?A" proof- obtain"yy"where"y=norm' yy" using‹y ∈ norms› norms_def by auto moreoverhave"?g (norm' yy) ∈?gA" using‹∀y. (if g xx < 0 then λx. - 1 * g x else g) (norm' y) ∈ {(if g xx < 0 then λx. - 1 * g x else g) a |a. a ∈ {norm' (r ⊗ x) |r. True}}›by blast moreoverhave"norm' yy ∈ ?A" proof- obtain"h"where"h ∈ ?A ∧ ?g h = ?g (norm' yy)" using calculation(2) by fastforce moreoverhave"?g h ≥0" using calculation s2 by blast
moreover { assume"?g = g" have" g h = g (norm' yy)" by (smt (verit, ccfv_SIG) calculation(1))
moreoverhave"h=norm' yy" proof- have"h∈norms" using‹h ∈ {norm' (r ⊗ x) |r. True} ∧ (if g xx < 0 then λx. - 1 * g x else g) h = (if g xx < 0 then λx. - 1 * g x else g) (norm' yy)› norms_def by force moreoverhave"norm' yy ∈ norms" using‹y = norm' yy›‹y ∈ norms›by blast ultimatelyshow ?thesis by (metis ‹g h = g (norm' yy)›‹g_iso g› bij_betw_inv_into_left g_iso_def inf_sup_ord(3) norms_all_def subset_iff) qed ultimatelyhave ?thesis using‹h ∈ {norm' (r ⊗ x) |r. True} ∧ (if g xx < 0 then λx. - 1 * g x else g) h = (if g xx < 0 then λx. - 1 * g x else g) (norm' yy)›by blast
} moreover { assume"?g = (λx. -1 * (g x))" have" g h = g (norm' yy)" by (smt (verit, ccfv_SIG) calculation(1))
moreoverhave"h=norm' yy" proof- have"h∈norms" using‹h ∈ {norm' (r ⊗ x) |r. True} ∧ (if g xx < 0 then λx. - 1 * g x else g) h = (if g xx < 0 then λx. - 1 * g x else g) (norm' yy)› norms_def by force moreoverhave"norm' yy ∈ norms" using‹y = norm' yy›‹y ∈ norms›by blast ultimatelyshow ?thesis by (metis ‹g h = g (norm' yy)›‹g_iso g› bij_betw_inv_into_left g_iso_def inf_sup_ord(3) norms_all_def subset_iff) qed ultimatelyhave ?thesis using‹h ∈ {norm' (r ⊗ x) |r. True} ∧ (if g xx < 0 then λx. - 1 * g x else g) h = (if g xx < 0 then λx. - 1 * g x else g) (norm' yy)›by blast
} ultimatelyshow ?thesis by argo qed ultimatelyshow ?thesis by fastforce qed qed qed show ?thesis using‹∀y. y ∈ norms ⟶ y ∈ {norm' (r ⊗ x) |r. True}›by blast qed ultimatelyshow ?thesis using norms_def by fastforce qed moreoverhave step1:"inj_on ?f norms" proof- have"∀x.∀y. (x∈ norms ∧ y∈ norms ∧ (?f x) = (?f y) ⟶ x=y)" proof fix x show"∀y. (x∈ norms ∧ y∈ norms ∧ (?f x) = (?f y) ⟶ x=y)" proof fix y show" (x∈ norms ∧ y∈ norms ∧ (?f x) = (?f y) ⟶ x=y)" by (metis ‹g_iso (if g xx < 0 then λx. - 1 * g x else g)› bij_betw_imp_inj_on g_iso_def inf_sup_ord(3) inj_on_def norms_all_def subsetD) qed qed thenshow ?thesis using inj_on_def by blast qed moreoverhave"∀r::real. (r≥0 ⟶ (∃x. (x∈ norms ∧ ?f x = r)))" by (smt (verit) calculation(3) mem_Collect_eq s1)
moreoverhave step2:"∀r::real. (r≥0 ⟶ (∃x∈ norms.( ?f x = r)))"
using calculation(5) by blast moreoverhave"∀r∈{x::real. x≥0}. (∃x∈norms. (?f x = r))" using step2 by blast moreoverhave **:"?f=(λx. if x ∈ norms then (?g x) else undefined)" by meson moreoverhave"?f ` norms = {r::real. r≥0}" by (smt (verit) Collect_cong Setcompr_eq_image calculation(3) s1) ultimatelyshow ?thesis by (simp add: bij_betw_def)
qed
ultimatelyshow ?thesis by blast qed
lemma comparing_norms_help: assumes"x∈norms""y∈norms_all" "x≤y" shows"y∈ norms" proof- have"x < y ∨ x=y" using assms(3) by argo moreover { assume"x<y" have ?thesis by (smt (verit) Un_iff ‹x < y› add_0 add_uminus_conv_diff assms(1) assms(2) full_SetCompr_eq linorder_not_less mem_Collect_eq mult_minus1 normed_gyrolinear_space''_axioms normed_gyrolinear_space''_def norms_all_def norms_def norms_neg_def order_le_less_trans)
} moreover { assume"x=y" have ?thesis using‹x = y› assms(1) by blast
} ultimatelyshow ?thesis by blast qed
lemma existence_of_f: assumes"∃x. (x∈norms_all ∧ x≠0)"(* not trivial domain *) shows"∃f. (bij_betw f norms {x::real. x≥0} \<and> (∀y::real. ∀z::real. (( y∈ norms ∧ z∈ norms ∧ y>z)⟶ (f y) > (f z))) ∧ (∀x. ∀y. f(norm' (x ⊕ y)) ≤ (f (norm' x)) + (f (norm' y))) \<and> (∀r::real. (∀x. (f (norm' (r ⊗ x)) = ∣r∣ * (f (norm' x))))))" proof- obtain"g"where"(g_iso g ∧ (∀x.(x∈norms ⟶ (g x)≥0)) \<and> bij_betw (λx. if x ∈ norms then (g x) else undefined) norms {r::real. r≥0})" using iso_with_real_positive_on_norms
assms by blast let ?f = "λx. if x ∈ norms then (g x) else undefined" have"∀α::real. ∀β::real. ∀x. ((0 ≤ α ∧ α ≤ β) ⟶ ((otimes' α (norm' x)) ≤ (otimes' β (norm' x))))" proof fix α show" ∀β::real. ∀x.((0 ≤ α ∧ α ≤ β) ⟶ ((otimes' α (norm' x)) ≤ (otimes' β (norm' x))))" proof fix β show" ∀x.((0 ≤ α ∧ α ≤ β) ⟶ ((otimes' α (norm' x)) ≤ (otimes' β (norm' x))))" proof fix x show"((0 ≤ α ∧ α ≤ β) ⟶ ((otimes' α (norm' x)) ≤ (otimes' β (norm' x))))" proof assume"0 ≤ α ∧ α ≤ β" show"((otimes' α (norm' x)) ≤ (otimes' β (norm' x)))" proof- have"otimes' α (norm' x) = norm' (α ⊗ x)" by (metis ‹0 ≤ α ∧ α ≤ β› abs_of_nonneg normed_gyrolinear_space''_axioms normed_gyrolinear_space''_def) moreoverhave" norm' (α ⊗ x) = norm' (((β+α)/2 - (β-α)/2)⊗ x)" by (simp add: add_divide_distrib diff_divide_distrib) moreoverhave"norm' (((β+α)/2 - (β-α)/2)⊗ x) = norm' (((β+α)/2) ⊗ x ⊕ (- (β-α)/2) ⊗ x )" by (metis add.commute divide_minus_left scale_distrib uminus_add_conv_diff) moreoverhave" norm' (((β+α)/2) ⊗ x ⊕ (- (β-α)/2) ⊗ x ) ≤ oplus' (norm' (((β+α)/2)⊗ x)) (norm' ((-(β-α)/2) ⊗ x))" using ax3 by blast moreoverhave"-(β-α)/2 ≤0" by (simp add: ‹0 ≤ α ∧ α ≤ β›) moreoverhave"(β+α)/2 ≥0" using‹0 ≤ α ∧ α ≤ β›by auto moreoverhave *:"(norm' (((β+α)/2)⊗ x)) =(otimes' ((β+α)/2) (norm' x))" by (smt (verit, ccfv_threshold) calculation(6) normed_gyrolinear_space''_axioms normed_gyrolinear_space''_def) moreoverhave" ∣-(β-α)/2∣ = (β-α)/2 " using calculation(5) by force moreoverhave **:"(norm' ((-(β-α)/2)⊗ x)) =(otimes' ((β-α)/2) (norm' x))" by (metis calculation(8) normed_gyrolinear_space''_axioms normed_gyrolinear_space''_def) moreoverhave" oplus' (norm' (((β+α)/2)⊗ x)) (norm' ((-(β-α)/2) ⊗ x)) = oplus' (otimes' ((β+α)/2) (norm' x)) (otimes' ( (β-α)/2) (norm' x)) " using * ** by presburger moreoverhave"oplus' (otimes' ((β+α)/2) (norm' x)) (otimes' ( (β-α)/2) (norm' x)) = otimes' ((β+α)/2 + ((β-α)/2)) (norm' x)" by (metis Un_iff ax_space one_dim_vector_space_with_domain_def rangeI vector_space_with_domain.smult_distr_sadd) moreoverhave" otimes' ((β+α)/2 + ((β-α)/2)) (norm' x) = otimes' β (norm' x)" by argo ultimatelyshow ?thesis by linarith qed qed qed qed qed moreoverhave"∀α::real. ∀β::real. ∀x. ((0 < α ∧ α < β ∧ x≠gyrozero) ⟶ ((otimes' α (norm' x)) < (otimes' β (norm' x))))" proof - have f1: "∀f fa fb. normed_gyrolinear_space'' f fa fb = (((∀a. 0 ≤ f (a::'a)) ∧ one_dim_vector_space_with_domain (range f ∪ range (λa. - 1 * f a)) fa 0 fb ∧ (∀a aa. f (a ⊕ aa) ≤ fa (f a) (f aa))) ∧ (∀r a. f (r ⊗ a) = fb (if r < 0 then - r else r) (f a)) ∧ (∀a aa ab. f (gyr a aa ab) = f ab) ∧ (∀a. (f a = 0) = (a = 0g)))" by (simp add: abs_if_raw normed_gyrolinear_space''_def) obtain rr :: "real ==> real"where
f2: "bij_betw rr norms_all UNIV ∧ 0 = rr 0 ∧ (∀r ra. r ∈ norms_all ∧ ra ∈ norms_all ⟶ rr (oplus' r ra) = rr r + rr ra) ∧ (∀r ra. r ∈ norms_all ⟶ rr (otimes' ra r) = ra * rr r)" using assms iso_with_real by auto have"∀a. (0 = norm' a) = (0g = a)" using f1 by (smt (z3) normed_gyrolinear_space''_axioms) thenshow ?thesis using f2 by (smt (z3) UnI2 bij_betw_inv_into_left calculation mult_right_cancel norms_all_def norms_def rangeI sup_commute) qed moreoverobtain"xx0"where"xx0∈norms ∧ xx0≠0" using assms not_trivial_domen_has_pos by blast moreoverobtain"x0"where"xx0 = norm' x0" using calculation(3) norms_def by auto moreoverhave mon:"(∀y z. y ∈ norms ∧ z ∈ norms ∧ z < y ⟶ ?f z < ?f y)" proof fix y show"∀z. (y ∈ norms ∧ z ∈ norms ∧ z < y ⟶ ?f z < ?f y)" proof fix z show"y ∈ norms ∧ z ∈ norms ∧ z < y ⟶ ?f z < ?f y" proof assume"y ∈norms ∧ z ∈ norms ∧ z < y" show"?f z < ?f y" proof- let ?alpha = "(?f y)/(?f (norm' x0))" let ?beta = "(?f z)/(?f (norm' x0))" have"otimes' ?alpha (norm' x0) = y" by (smt (verit, del_insts) ‹g_iso g ∧ (∀x. x ∈ norms ⟶ 0 ≤ g x) ∧ bij_betw (λx. if x ∈ norms then g x else undefined) norms {r. 0 ≤ r}›‹y ∈ norms ∧ z ∈ norms ∧ z < y›ax_space bij_betw_imp_inj_on calculation(3) calculation(4) g_iso_def in_mono inf_sup_ord(3) inj_on_def nonzero_eq_divide_eq norms_all_def norms_def norms_neg_def one_dim_vector_space_with_domain.axioms(1) vector_space_with_domain.smult_closed vector_space_with_domain.zero_in_dom) moreoverhave"otimes' ?beta (norm' x0) = z" by (smt (verit, del_insts) ‹g_iso g ∧ (∀x. x ∈ norms ⟶ 0 ≤ g x) ∧ bij_betw (λx. if x ∈ norms then g x else undefined) norms {r. 0 ≤ r}›‹xx0 = norm' x0›‹xx0 ∈ norms ∧ xx0 ≠ 0›‹y ∈ norms ∧ z ∈ norms ∧ z < y› ax_space bij_betw_imp_inj_on g_iso_def inf_sup_ord(3) inj_on_def nonzero_eq_divide_eq norms_all_def norms_def norms_neg_def one_dim_vector_space_with_domain.axioms(1) subset_iff vector_space_with_domain.smult_closed vector_space_with_domain.zero_in_dom) moreoverhave"?alpha ≥ 0 ∧ ?beta ≥0" using‹g_iso g ∧ (∀x. x ∈ norms ⟶ 0 ≤ g x) ∧ bij_betw (λx. if x ∈ norms then g x else undefined) norms {r. 0 ≤ r}›‹xx0 = norm' x0›‹xx0 ∈ norms ∧ xx0 ≠ 0›‹y ∈ norms ∧ z ∈ norms ∧ z < y›by auto moreoverhave"0 < ?alpha ∧ ?alpha < ?beta ⟷ 0<y ∧ y<z" by (smt (verit, ccfv_threshold) ‹∀α β x. 0 ≤ α ∧ α ≤ β ⟶ otimes' α (norm' x) ≤ otimes' β (norm' x)›‹y ∈ norms ∧ z ∈ norms ∧ z < y› calculation(1) calculation(2)) moreoverhave"0<?alpha ∧ ?alpha < ?beta ⟷ 0 ≤ (?f y) ∧ (?f y) < (?f z)" by (smt (verit, best) ‹∀α β x. 0 ≤ α ∧ α ≤ β ⟶ otimes' α (norm' x) ≤ otimes' β (norm' x)›‹y ∈ norms ∧ z ∈ norms ∧ z < y› calculation(1) calculation(2) calculation(3) div_by_0 frac_less zero_le_divide_iff) ultimatelyshow ?thesis using‹g_iso g ∧ (∀x. x ∈ norms ⟶ 0 ≤ g x) ∧ bij_betw (λx. if x ∈ norms then g x else undefined) norms {r. 0 ≤ r}›‹y ∈ norms ∧ z ∈ norms ∧ z < y›by auto qed qed qed qed moreoverhave" (∀x y. ?f (norm' (x ⊕ y)) ≤ ?f (norm' x) + ?f (norm' y))" proof fix x show"∀y. (?f (norm' (x ⊕ y)) ≤ ?f (norm' x) + ?f (norm' y))" proof fix y show" (?f (norm' (x ⊕ y)) ≤ ?f (norm' x) + ?f (norm' y))" proof- have"norm' x∈norms" using norms_def by blast moreoverhave"norm' y ∈ norms" using norms_def by blast moreoverhave"norm' (x ⊕ y)∈ norms" using norms_def by blast moreoverhave"norm' (x ⊕ y) ≤ oplus' (norm' x) (norm' y)" using ax3 by blast moreoverhave"(?f (norm' (x ⊕ y))) ≤ (?f (oplus' (norm' x) (norm' y)))" proof- have"norm' (x ⊕ y) ≤ oplus' (norm' x) (norm' y) ∨ norm' (x ⊕ y) = oplus' (norm' x) (norm' y)" using calculation(4) by blast moreover { assume st1:"norm' (x ⊕ y) < oplus' (norm' x) (norm' y)" have"norm' x ∈ norms" using norms_def by blast moreoverhave"norm' y ∈ norms" using norms_def by blast moreoverhave"vector_space_with_domain norms_all oplus' 0 otimes'" using ax_space norms_def
one_dim_vector_space_with_domain_def by (metis norms_all_def norms_neg_def) moreoverhave"oplus' (norm' x) (norm' y) ∈ norms_all" by (metis Un_iff calculation(1) calculation(2) calculation(3) norms_all_def vector_space_with_domain.add_closed) moreoverhave st2:"norm' (x ⊕ y)∈ norms" by (simp add: ‹norm' (x ⊕ y) ∈ norms›) moreoverhave st3:"oplus' (norm' x) (norm' y) ∈ norms" using ax3 calculation(4) comparing_norms_help st2 by blast
moreoverhave"(?f (norm' (x ⊕ y))) < (?f (oplus' (norm' x) (norm' y)))" using mon st1 st2 st3 by blast ultimatelyhave ?thesis by linarith
} moreover { assume"norm' (x ⊕ y) = oplus' (norm' x) (norm' y)" thenhave ?thesis by auto
} ultimatelyshow ?thesis by fastforce qed moreoverhave" (?f (oplus' (norm' x) (norm' y))) = (?f (norm' x)) + (?f (norm' y))" proof- have f1:"norm' (x ⊕ y) ≤ oplus' (norm' x) (norm' y)" using ax3 by blast moreoverhave f2:"norm' (x ⊕ y) ∈ norms" by (simp add: ‹norm' (x ⊕ y) ∈ norms›) moreoverhave f3:"vector_space_with_domain norms_all oplus' 0 otimes'" using ax_space norms_def
one_dim_vector_space_with_domain_def by (metis norms_all_def norms_neg_def) moreoverhave"oplus' (norm' x) (norm' y)∈ norms" by (metis UnI1 ‹norm' x ∈ norms›‹norm' y ∈ norms› f1 f2 f3 normed_gyrolinear_space''.comparing_norms_help normed_gyrolinear_space''_axioms norms_all_def vector_space_with_domain.add_closed) ultimatelyshow ?thesis using‹g_iso g ∧ (∀x. x ∈ norms ⟶ 0 ≤ g x) ∧ bij_betw (λx. if x ∈ norms then g x else undefined) norms {r. 0 ≤ r}›‹norm' x ∈ norms›‹norm' y ∈ norms› g_iso_def norms_all_def by force qed ultimatelyshow ?thesis by force qed qed qed
moreoverhave"(∀r::real. (∀x. (?f (norm' (r ⊗ x)) = ∣r∣ * (?f (norm' x)))))" by (smt (verit, ccfv_SIG) Un_iff ‹g_iso g ∧ (∀x. x ∈ norms ⟶ 0 ≤ g x) ∧ bij_betw (λx. if x ∈ norms then g x else undefined) norms {r. 0 ≤ r}› g_iso_def normed_gyrolinear_space''_axioms normed_gyrolinear_space''_def norms_all_def norms_def rangeI)
ultimatelyshow ?thesis using‹g_iso g ∧ (∀x. x ∈ norms ⟶ 0 ≤ g x) ∧ bij_betw (λx. if x ∈ norms then g x else undefined) norms {r. 0 ≤ r}›by blast qed
end
end
Messung V0.5 in Prozent
¤ 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.0.80Bemerkung:
(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.