inductivepath::"'node\<Rightarrow>'edgelist\<Rightarrow>'node\<Rightarrow>bool" (\<open>_-_\<*_\<close>[51,000 where empty_path:"valid_noden\<Longrightarrow>n-[]\<rightarrow>*n"
lemmapath_valid_edges>-a'#as'\<rightarrow>*n'\<close>have"n=sourcenodea'andrgetnodeodea<>java.lang.StringIndexOutOfBoundsException: Index 115 out of bounds for length 115 by(<>\rightarrow>*sourcenodea'\<close>have"n=sourcenodea'"byfast
lemmah_Entry_targetjava.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31 assumes"n-as\<rightarrow>*(_Entry_)" shows"n=(_Entry_)"and"as=<targetnodea=n''\<close>\<open>valid_edgea\<close>showFalseby-(eruleEntry_target,simp) using\<open>n-as\<rightarrow>*(_Entry_)\<close> proof(inductnasn'\<equiv>"(_Entry_)"rule:path.induct) case(Cons_pathn''asan) from\<open>targetnodea=n''\<close>\<open>valid_edgea\<close>\<open>n''=(_Entry_)\<close>haveFalse by-(ruleEntry_target,simp_all) {case1 with\<open>False\<close>show?case.. next case2 with\<open>False\<close>show?case.. } qedsimp_all
lemmasourcenodes_is_n_Cons_butlast_targetnodes: "\<lbrakk>n-as\<rightarrow>*n';as\<noteq>[]\<rbrakk>\<Longrightarrow> sourcenodesas=n#(butlast(targetnodesas))" proof(inductasarbitrary:n) caseNilthus?casebysimp next case(Consa'as') noteIH=\<open>\<And>n.\<lbrakk>n-as'\<rightarrow>*n';as'\<noteq>[]\<rbrakk> \<Longrightarrow>sourcenodesas'=n#(butlast(targetnodesas'))\<close> from\<open>n-a'#as'\<rightarrow>*n'\<close>have"n=sourcenodea'"and"targetnodea'-as'\<rightarrow>*n'" by(autoelim:path_split_Cons) show?case proof(cases"as'=[]") caseTrue with\<open>targetnodea'-as'\<rightarrow>*n'\<close>have"targetnodea'=n'"byfast withTrue\<open>n=sourcenodea'\<close>show?thesis by(simpadd:sourcenodes_deftargetnodes_def) next caseFalse fromIH[OF\<open>targetnodea'-as'\<rightarrow>*n'\<close>this] have"sourcenodesas'=targetnodea'#butlast(targetnodesas')". with\<open>n=sourcenodea'\<close>Falseshow?thesis by(simpadd:sourcenodes_deftargetnodes_def) qed qed
lemmatargetnodes_is_tl_sourcenodes_App_n': "\<lbrakk>n-as\<rightarrow>*n';as\<noteq>[]\<rbrakk>\<Longrightarrow> targetnodesas=(tl(sourcenodesas))@[n']" proof(inductasarbitrary:n'rule:rev_induct) caseNilthus?casebysimp next case(snoca'as') noteIH=\<open>\<And>n'.\<lbrakk>n-as'\<rightarrow>*n';as'\<noteq>[]\<rbrakk> \<Longrightarrow>targetnodesas'=tl(sourcenodesas')@[n']\<close> from\<open>n-as'@[a']\<rightarrow>*n'\<close>have"n-as'\<rightarrow>*sourcenodea'"and"n'=targetnodea'" by(autoelim:path_split_snoc) show?case proof(cases"as'=[]") caseTrue with\<open>n-as'\<rightarrow>*sourcenodea'\<close>have"n=sourcenodea'"byfast withTrue\<open>n'=targetnodea'\<close>show?thesis by(simpadd:sourcenodes_deftargetnodes_def) next caseFalse fromIH[OF\<open>n-as'\<rightarrow>*sourcenodea'\<close>this] have"targetnodesas'=tl(sourcenodesas')@[sourcenodea']". with\<open>n'=targetnodea'\<close>Falseshow?thesis by(simpadd:sourcenodes_deftargetnodes_def) qed qed
lemmaEntry_sourcenode_hd: assumes"n-as\<rightarrow>*n'"and"(_Entry_)\<in>set(sourcenodesas)" shows"n=(_Entry_)"and"(_Entry_)\<notin>set(sourcenodes(tlas))" using\<open>n-as\<rightarrow>*n'\<close>\<open>(_Entry_)\<in>set(sourcenodesas)\<close> proof(inductrule:path.induct) case(empty_pathn)case1 thus?caseby(simpadd:sourcenodes_def) next case(empty_pathn)case2 thus?caseby(simpadd:sourcenodes_def) next case(Cons_pathn''asn'an) noteIH1=\<open>(_Entry_)\<in>set(sourcenodesas)\<Longrightarrow>n''=(_Entry_)\<close> noteIH2=\<open>(_Entry_)\<in>set(sourcenodesas)\<Longrightarrow>(_Entry_)\<notin>set(sourcenodes(tlas))\<close> have"(_Entry_)\<notin>set(sourcenodes(tl(a#as)))" proof assume"(_Entry_)\<in>set(sourcenodes(tl(a#as)))" hence"(_Entry_)\<in>set(sourcenodesas)"bysimp fromIH1[OFthis]have"n''=(_Entry_)"bysimp with\<open>targetnodea=n''\<close>\<open>valid_edgea\<close>showFalseby-(eruleEntry_target,simp) qed hence"(_Entry_)\<notin>set(sourcenodes(tl(a#as)))"byfastforce {case1 with\<open>(_Entry_)\<notin>set(sourcenodes(tl(a#as)))\<close>\<open>sourcenodea=n\<close> show?caseby(simpadd:sourcenodes_def) next case2 with\<open>(_Entry_)\<notin>set(sourcenodes(tl(a#as)))\<close>\<open>sourcenodea=n\<close> show?caseby(simpadd:sourcenodes_def) } 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.34Bemerkung:
¤
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.