Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/Isabelle/Archive-of-Formal-Proofs/thys/Knot_Theory/   (Sammlung formaler Beweise Version 2026-5©)  Datei vom 31.4.2026 mit Größe 18 kB image not shown  

Quelle  Example.thy

  Sprache: Isabelle
 

section

  Example
  Link_Algebra
 

 We prove that a link diagram with a single crossing is equivalent to the
 


  transitive: assumes "a~b" and "b~c" shows "a~c"
 using Tangle_Equivalence.trans assms(1) assms(2) by metis

 lemma perm_struct_ind[consumes 1, case_names zero swap plus]:
 " ((basic (cup#[])) (basic (vert # vert # []))) ~
 ((basic [])(basic (cup#[])))"
 -
 have "domain_wall (basic (cup # [])) = 0"
 by auto
 moreover have "codomain_wall (basic (cup # [])) = 2"
 by auto
 moreover
 have "make_vert_block (nat (codomain_wall (basic (cup # []))))
 = (vert # vert # [])"
 unfolding make_vert_block_def
 by auto
 moreover have "is_tangle_diagram ((basic (cup#[])) S"
 using is_tangle_diagram.simps by auto
 ultimately
 have "compress_bottom
 ((basic (cup#[]))
 ((basic []) b <>We
 using compress_bottom_def by (metis is_tangle_diagram.simps(1))
 then have "compress ((basic (cu#[)
 (basic [])🚫
 using compress_def by auto
 then have "linkrel ((basic (cup#[]))
 ((basic [])(basic (cup#[])))"
 unfolding linkrel_def by auto
 then show ?thesis
 using Tangle_Equivalence.equality compress_bottom_def
 Tangle_Moves.compress_bottom_def Tangle_Moves.compress_def
 Tangle_Moves.linkrel_dlinkrel_def
 by auto
 qed

  cup_compress:
 "(basic (cup#[])) \<circproof (cup # [])) = 0"
 proof-
 have " ((basic (cup#[])) (bas (cup # [])) = 2"
 ((basic [])
 using prelim_cu or
 reover he "(bsi ])= (vert ## v# [])"
 using domain_compose refl sym Tangle_Equivalence.domain_compos hows "P "
 Tangle_Equivalence.sym domain.simps(2) domain_block.simps
 domain_wall.simps(1)
 is_tangle_diagram.simps(1) monoid_add_class.add.right_neutral
 by auto
 ultimately show ?thesis using tran by au
 qed
 
  x:::"wall"
 
 x (basic [vert,over,vert]) p])"

  y::"wall"
 
 quiv> (basic [cup]) \]\circai a]"

 uncross_straighten_left_over:"left_over ~ straig"
 -
 have (basic (cu#[]))
 using uncross_positive_flip(c#[])))"
 then have "linkrel right_over left_over"
 using linkrel_dthen have "compress ((basic cup#[])) # vert # [])))
 hen have "right_over ~ left_over"
 using Tangle_Equivalence.equality by auto
 then have 1:"left_over ~ right_over"
 using Tangle_Equivalence.sym by auto
 have "uncross right_over straight_line"
 using uncross_positive_straighten_def uncross_def by auto
 then have "linkrel sing compress_def by auto
 using linthen have "linkrel ((basic (cup#[]))
 then have 2:"right_over ~ straight"
 using Tangle_E nfolding linkrel_def by auto
 have "(left_ov then s show ?thesis
 🚫🚫 (cup#[]))\<> (basic (cup#[])))"
 using transitive by auto
 then show ?thesis using 1 2 transitive by blast
 qed



  Example:
 "x ~ y"y (bangle_quivalence.sym domain.simps(2 domain_simps
 -
 have 1:"le omain_wsimps(1)
 using Tangle_Equivalence.equaliis_tange_diagsimps(1) monoid_add_class.add.right_neutral
 moreover have 2:"straight_line ~ straight_line"
 using refl ult show ?thesis using trans by (metis Example..tra)
 have 3:"(left_over \< qed (basic [cup,cup]) (basic [cap,cap])"
 proof- 
 have "is_tangle_diagram (left_over)"
 unfolding is_tangleabbreviatio y:"wall"
 moreover have "is_tangle_diagram (straight_line)"
 unfolding is_tangle_diagram_def by auto
 ultimately show ?y (basic [cap])"
 qed
 then h have 4:
 "(asic (cp#[)) straight_line))
 ~ ((basic (cup#[]))
 proof-
 ave i_tanledigram lf_ove \otimesh_in)
 by auto
 have "u "uncross right_over left_over"
 by auto
 moreover have ""is_tangle_diagram (basic (cup#[]))"
 by auto
 moreover have "domain_wall (then have "linkrel right_over left_over"
 unfoldingusing lnkel_de b uto
 moreover hav th ave "ight_over ~ left_over"
 unfolding domain_wal by auto
 moreover have "(basusing Tangle_Equvalence.equality by auto
 using refl by auto
  swap plus]:
 using compose_eq 3 by (metis Tangle_Equivalence.compose_eq)
 using Tangle_Equivsym by auto
java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
 ~ (basic [cup])"akk>sort_f a = sort_of b; a 🚫
 proof-
 0:
 "(basic ([cup])) straight_line) = (basic [cup])
java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because "macro" is null
 by auto
 let ?x ="(basic (up#]))
 :"perm"
 
 let ?x1 = " (basic (vert#vert#[])) (left_over
 avee :"x ~ (basic(cu#[]) <>  p 🚫 show ?thesis
 proof-
 have "(basic (cup#[]))
  have 5:" (basic [cup])
 moreover have "is_tan (basic (cup#[]))"
 using is_tangle_diagram_def by auto
 moreover have "is_tangle_diagram ((basic (cup#[]))
 is_tangle_diagram_defyuo
 moreover have "is_tangle_diagra
 by auto
 moreover have "?x1 ~ ?x1"
 using refl by auto
 moreover have
 "codomain_wall (basic (cup#[])) = domain_wall (basic (vert#vert#[]))"
 by auto
 moreover have "(basic (cup#[])) ~ (bas(cup#[]))"
 using refl by auto
 ultimately show ?thesis
 using compose_eq codomain_wall_compose compose_leftassociativity
 converse_composition_of_tangle_diagrams domain_wall_compose
 by (metis Tangle_Equivalence.compose_eq is_tangle_diagram.simps(1))
 qed
 have 2: " ((basic (cup#[]))
 proof-
 have "
 ((basic (cup # []))(basic (vert # vert # [])))\<thenhave#[]))
 ~ ((basic(cup#[]))(ververt#[]))"
 proof- by (induct p r: perm_struct_) (simp_all)
 have "(basic (cup#[]))(basic (vert #
 using cup_compress by auto
 ver have "(basic(vert#vert#[])) ~(bas(vert#vert#[]))"
 using refl by auto   1:?x ~ (basc(cu#]) <> (basic (vert # vert # [])) ~ (basic (cup#[]))"
 moreover have "is_tangle_diagram (basic (cup#[]))"
 using is_tangle_diagram_def by auto
 moreover have "is_tangle_diag ((basic (cup#[]))
 using s_tagle_digramdef y uto
 moreover have "is_tangle_diagram ((basic(vert#vert#[])))"
 by auto
 moreover have
 "codomain_wall ((basic (cup#[]))
 = domain_wall (basic(vert#vert#[])) "
 moreover have "is_tangle_diag (?x1)"
 moreover
 have "codoy autauto
 by auto
 ultimately show ?thesis
 using compose_eq
 by (metis Tangle_Equivalence.compose_eq)
 qed
 then have "((basic (cup#[]))
 (ic(cup#[)\circic(er#et#[)))"
 by auto
 then show ?thesis using cup_compress tr
 by (metis (full_typesmoreover have "(basic (cup#[])) ~ (basic (cup#[]))"
 qed
 from 0 1 2 show ?thesis using trans using refl by auto
 by (metis (opaque_lifting, no_types) Example.transitive)
 ed
 let ?y = "((basic us opse_q oomi_wal_compos omposeleftassoiaivit
 let ?temp = "(basic (vert#over#vert#[]))
 have45:"(left_over ×
 ((basic (cup#vert#vert#[])) <irc (basic (vert # vert # [])))
 using tensorsimps by(metis comoseNil
 then have 55:"(basic (cup#[]))
 = (basic (cup#[])) circ> ?temp"
 by auto
 then have
 "(basic (cup#[])) (basic (cup#vert#vert#[]))
 = (basic (([]) (basic ((cup#[])
 using concatenate.simps by auto
 then have 6:
 "(basic (cup#[]))
 = ((basic ([]))
 
 using tensor.simps by auto
 then have "((basic (cup#[])) #[]))
 (basi [))\circ(ai(#[]))
  prelim_cup_compress by auto
 moreover have "((basic ([]))\<>(
 ~ ((basic ([])) (basic(vert#vert#[])))
 using refl by auto
 oreover hve "is_anle_dagram ((basic (up[]) \circbsic(ver#vet#]))"
 by auto
 moreover have "is_tangle_diagram ((basic ([]))#vert#[])) "
 by auto
 ultimately have 7:"?y
  tensor_eq cup_compress Nil_right_ is_tangle_diagram.simps(1) refl
 by (metis Tangle_Equivalence.tensor_eq)
 then have " ((?y)
 
 using tensor.simps(4) by (metis compose_Nil)
 then have " ((?y)
 using tensor.simps(1) concatenate_def by auto
 then have "(?y) \<otimes  🚫
 ~ (basic ( ((basic(cup#[])\<ircrc
 using 7 by auto
 sic ([]))
 proof
 have "domainfr0 sow?heisuig rstn_e a oms_N
 by auto
 ennsothiuigdai_omosm
 by (metis Tangle_Equivalence.domai
 d
 ultimately have (ba(vert#ovvert#[]))
 ~ (basic (cup#cup#[]))"
 using trans by (metis (full_types) Exatransitive)
 then have " (basic(cup#[]))p (cup#ver#v#[])) 🚫 (cup#[)) \  (basic (cup#vert#vert#[]))
 by auto
 moreover have "?temp ~ ?temp"
 using refl by auto
 moreover have "is_tangle_diagram ((basic(cup#[]))
 by auto
 "s_t (basic(cup#cup#[))"
 by auto
 moreover have "is_tangle_diagram (?temp)"
 by auto
 moreover have "codomain_wall ((basic(cup#[]))(basic(cup#vert#vert#[])))
 = domain_wall ?temp"
 by auto
 moreover have "codomain_wall (basic(cup#cup#[])) = dom ?temp"
 by auto
 ultimately have 8:" ((basic(cup#[])×(basic (vert#vert#[])))"
 ~ (basic(cup#cup#[]))
 using compose_eq by (metis Tangle_Equivalence.compose_eq)
 then have "((basic [cup,cup]) \<> (basic (cup#[]))"
 ~ (basic [cup] straight_line))"
 using 55 compose_leftassociativity sym wall.simps
 by (metis Tangle_Equivalence.sym compose_Nil)
 moreover have "(basic [cup])
 ~ (basic [cup]) (basic (cup#[])))
 using 4 by auto
 ultimately have "((basic [cup,cup]) i)<>basic
 ~ (basic [cup]) straight_line)"
 proof-
 have "((basic [cup,cup]) ((basic ([))\<circ(
 ~ (basic [cup]
 se_Nil
 by (metis)
 moreover have "(basic [cup])
 ~ (basic [cup]) straight_line
 using 4 by auto
 moreover have "(((basic [cup,cup])
 basic [cup] \<> 
  tensor.simps(1) conc by auto
 ~ (basic [cup]) ((basic (cup#[]))
 ==>(basic (cup#cup#[]))"
 using Example.transitive by auto
 ultimately show ?thesis by auto
 qed
 then have "(basic ([cup,cup]))
 gransranpdf5y metis xmetrasitie)
 moreover have "(basic (cap#[])) ~ (basic (cap#[]))"
 using refl by auto
 moreover have "is_tangle_diagram (( have domain_wall (basic (cup#cup#[])) = 0"
 by auto
 moreover have "is_tangle_diagram (basic (cup # []))"
 by auto
 moreover have "is_tangle_diagram (basic cap # [])) then then show ?theis usingdoain_op sy
 by auto
 moreover have "codomain_wall ((basic(cup#cup#[])) .domain_compose Tangle_Equivale.sym is_tangle_diagram.simps(1))
 = domain_wall (basic (cap # []))"
 by auto
 moreover have "codomain_wall (basic(cup#[])) = domain_wall (basic (cap # []))"
 by auto
 ultimately have 9:"((basic(cup#cup#[])) (cup#cup#[]))"
 ~ (basic (cup#[])) (basic (cap#[]))"
 using Tangle_Equivalence.compose_eq by metis
 let ?z = "((basic(cup#cup#[]) by by (autimp:upzero_perm spp_sa slt: fsplis)
 have 10:"((basic(cup#cup#[])) trans by (metis (full_ty Example.tran)
 = ?z )\<\circ
 by auto
  have 11:"((basic(capvert#vert#[#[])) \circ (basic (cap#[])))
 = ((basic ((cap#[])
 unfolding concatenate_def by auto
 then have 12" (bsi(cap#vrtt#vet[]) <> 
 = ((basic (cap#[]))#cup#[]))"
 using tensor.simps by auto
 let ?w = "((basic (cap#[]))l supp_pem_eq
 have 13:"((basic (vert#vert#[]))
 proof-
 have "codomain_wall (basic (cap#[])) = 0"
 by auto
 then have "domain_wall (basic (cap#[])) = 2" by auto
 then have "(vert#vert#[])
 = make_vert_block (nat (domain_wall (basic (cap#[]))))"
 by (simp add: make_vert_block_def)
 then have "compres ((bsi vrtve#[circ>(basc (cp[))) ?"
 using compress_top_def by auto
 then have "compress ((basic (vert#vert#[]))(basic (cap#[]))) ?w"
 using compress_def by auto
 then have "linkrel ((basic (vert#vert#[]))
  moreover have "codomain_wall (bsic(cu#cup#[])) = domain_wall ?temp"
 then have " ((basic (vert#vert#[]))
 using Tangle_Equivalence.equality by a auto
 then show ?thesis by simp
 qed
 moreover have "is_tangle_diagram ((basic (vert#vert#[]))
 by auto
java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
 by auto
 moreover have "?w ~ ?w"
 using refl by auto
 ultimately have 14:"(?w) \<using55
 using Tangle_Equivalence.tensor_eq by metis
 then have "((basic(cap#vert#vert#[]#[])) (?w))"
 using 13 by auto
 moreover have " ((?w) straight_line)"
 using tensor.simps by auto
 ultimately have "((basic(cap#vert#vert#[])) auto
 by auto
 moreover have "?z ~ ?z"
 using refl by auto
 moreover have "domai ((basic(cap#cap#[]))
  codem)
 by auto
 moreover have "domain_wall (((basic(cap#vert#vert#[])) (left_over
 omain_wallnal?)
 by auto
 moreover have "is_tangle_ ((basic(cap#vert#vert#[]))
 by auto
 moreover have is_taglediagrm(?z)"
 by auto
 moreover have "is_tangle_diagram ((basic(cap#cap#[])) \<circ~ (left_over
 by auto
 ultimately have 14:" (?z) \circ((ba(cap#vert#vert#[]))
 ~ (?z)
 using Tangle_Equivalence.compose_eq by meulti show ?thesis by auto
 moreover have 15: "((?z) (?temp) ~ (basic (cup # []))"
 ~ ((?z)
  .codomain_compo Tangle_Equiva.sym
 
  aut
 domain_block.simps(1) domain_wall.simps(1)
  (metis (opaque_lifting, mono_tags) Tangl.compose_e
 Tangle_Equivalence.refl
 
  domain (basic [vert, over, vert]
  with a diff inductio principle
  codomai_wll bsic cp, up\<irc  (basic (cap#[]))
 comp_of_tangle_dgms dmai_al_mpe is_angl_iara.sips(1)
 ultimately have "(?aa ~ ?bb) (?bb ~ ?cc) ==>re_te
  nite u
 then have 16:"?aa ~ ?cc"
  14 15 by aut
 then have 17:" ((basic (cup#[])) (?temp)) (= ?z <(vert
 usingbul> x = x"
 by (metis (opaque_lifting, no_types))
 have "(((basic (cup#[]))
 ==>(cap#vert#vert#[])) 🚫
 using transitive by auto
 then have "((basic (cup#[])) have "supp p
 
 showe n ageqivlc.y y o
 
 
   ve"om (basic (cap#[])) = 2 at

Messung V0.5 in Prozent
C=85 H=96 G=90

¤ Dauer der Verarbeitung: 0.5 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

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.