Übersicht der Quellen

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  Mutil.thy   Sprache: Isabelle

 

(*  Title:      ZF/Induct/Mutil.thy:Lawrence , Laboratory
    Author:     Lawrence C Paulson, Cambridge University Computer Laboratory
    Copyright   1996  University     Copyright1996   University of Cambridge
*)


section \open>The Mutilated Chess Board Problemformalized inductively›i, <i,

theory Mutil imports ZFjava.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 124

text java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because "brackoff" is null
  Originator MaxBlack to \<lbrakk>a \<in> A;  t \<in> tiling<=rbrakk ==>
  thejava.lang.StringIndexOutOfBoundsException: Range [27, 13) out of bounds for length 53
\inductiv

consts
  domino :: i
  tiling :: "i → i"

inductive
  domains "domino" ⊆ "Pow(nat × nat)"
  intros
    horiz: "[i ∈ nat; j ∈ nat] ==> {⟨i,j⟩, <i,succ(j)>} ∈ domino"
    vertl: java.lang.StringIndexOutOfBoundsException: Index 115 out of bounds for length 103
  type_intros empty_subsetI os_beIPw igmsuccI

inductive
  domains "tiling(A)java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
  int
    empty: "0 ∈epoll set
    Un: "[ A; t ∈>t = 0]Long a ∪ t tiling(A)"
  type_intros empty_subsetI Union_upper Un_least PowI
  java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 0

definition
  evnodd :: "[i, i] →i,j⟩#j<langle>i,\>e vodd(C,b))"
  "evnodd(A,){z ∈i j. z = ⟨ <a)o }"


subsection ‹

lemma
   nfolddeff)t

lemma evnodd_subset: "evnodd(b)<"
  by (unfold java.lang.StringIndexOutOfBoundsException: Range [30, 23) out of bounds for length 30

lemma inite_evnodd: "Finite(X) \<Longrightarrow> Finite(evnodd(X,b))"
  by (rule lepoll_Finite, rule subset_imp_lepoll, rule evnodd_subset)

lemma apply blastintros)
  by (simp 

lemma evnodd_Diff: "evnodd(A - B, b) = evnodd(A,b) -t ling
  by (simp add:  )

lemma evnodd_cons [simp]:
  "evnodd(cons(\<langle
    (if od   cons<java.lang.StringIndexOutOfBoundsException: Range [44, 43) out of bounds for length 89
  by (simp add: evnodd_def Collect_cons)

java.lang.StringIndexOutOfBoundsException: Range [3, 2) out of bounds for length 24
  by (simp add: evnodd_def)


subsection \<open>Dominoes\<java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 41

lemma domino_Finite: "d \<in> domino \<Longrightarrow> Finite(d)"
  by (blast intro!: Finite_cons Finite_0 elim: domino.cases)

lemma java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 23
    "\<lbrakk>d \<in> domino; b<2\<rbrakk>(*
  apply (erule domino.cases)
   apply (rule_tac [2] k1 = "i#+j" in mod2_cases [THEN disjE])
     apply (rule_tac k1 = "i#+j" in mod2_cases [THEN disjE])
       apply (rule add_type | assumption)+
      (*Four similar cases: case (i#+j) mod 2 = b, 2#-b, ...*)

      apply (auto simp add: mod_succ succ_neq_self dest: ltD)
  done


subsection ‹Tilings›

text ‹The union of two disjoint tilings is a tiling›

lemma tiling_UnI:
    "t ∈ tiling(A) ==> u ∈ tiling(A) ==> t ∩ u = 0 ==> t ∪ u ∈ tiling(A)"
  apply (induct set: tiling)
   apply (simp add: tiling.intros)
  apply (simp add: Un_assoc subset_empty_iff [THEN iff_sym])
  apply (blast intro: tiling.intros)
  done

lemma tiling_domino_Finite: "t ∈ tiling(domino) ==> Finite(t)"
  apply (induct set: tiling)
   apply (rule Finite_0)
  apply (blast intro!: Finite_Un intro: domino_Finite)
  done

lemma tiling_domino_0_1: "t ∈ tiling(domino) ==> |evnodd(t,0)| = |evnodd(t,1)|"
  apply (induct set: tiling)
   apply (simp add: evnodd_def)
  apply (rule_tac b1 = 0 in domino_singleton [THEN exE])
    prefer 2
    apply simp
   apply assumption
  apply (rule_tac b1 = 1 in domino_singleton [THEN exE])
    prefer 2
    apply simp
   apply assumption
  apply safe
  apply (subgoal_tac "∀p b. p ∈ evnodd (a,b) ⟶ p∉evnodd (t,b)")
   apply (simp add: evnodd_Un Un_cons tiling_domino_Finite
     evnodd_subset [THEN subset_Finite] Finite_imp_cardinal_cons)
  apply (blast dest!: evnodd_subset [THEN subsetD] elim: equalityE)
  done

lemma dominoes_tile_row:
    "[i ∈ nat; n ∈ nat] ==> {i} * (n #+ n) ∈ tiling(domino)"
  apply (induct_tac n)
   apply (simp add: tiling.intros)
  apply (simp add: Un_assoc [symmetric] Sigma_succ2)
  apply (rule tiling.intros)
    prefer 2 apply assumption
   apply (rename_tac n')
   apply (subgoal_tac (*seems the easiest way of turning one to the other*)
     "{i}*{succ (n'#+n') } ∪ {i}*{n'#+n'} =
       {<i,n'#+n'>, <i,succ (n'#+n') >}")
    prefer 2 apply blast
  apply (simp add: domino.horiz)
  apply (blast elim: mem_irrefl mem_asym)
  done

lemma dominoes_tile_matrix:
    "[m ∈ nat; n ∈ nat] ==> m * (n #+ n) ∈ tiling(domino)"
  apply (induct_tac m)
   apply (simp add: tiling.intros)
  apply (simp add: Sigma_succ1)
  apply (blast intro: tiling_UnI dominoes_tile_row elim: mem_irrefl)
  done

lemma eq_lt_E: "[x=y; x<y] ==> P"
  by auto

theorem mutil_not_tiling: "[m ∈ nat; n ∈ nat;
         t = (succ(m)#+succ(m))*(succ(n)#+succ(n));
         t' = t - {⟨0,0⟩} - {<succ(m#+m), succ(n#+n)>}]
      ==> t' ∉ tiling(domino)"
  apply (rule notI)
  apply (drule tiling_domino_0_1)
  apply (erule_tac x = "|A|" for A in eq_lt_E)
  apply (subgoal_tac "t ∈ tiling (domino)")
   prefer 2 (*Requires a small simpset that won't move the succ applications*)
   apply (simp only: nat_succI add_type dominoes_tile_matrix)
  apply (simp add: evnodd_Diff mod2_add_self mod2_succ_succ
    tiling_domino_0_1 [symmetric])
  apply (rule lt_trans)
   apply (rule Finite_imp_cardinal_Diff,
     simp add: tiling_domino_Finite Finite_evnodd Finite_Diff,
     simp add: evnodd_iff nat_0_le [THEN ltD] mod2_add_self)+
  done

end

Messung V0.5 in Prozent
C=79 H=93 G=86

¤ Dauer der Verarbeitung: 0.152 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

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.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Statistik
#Sources=1127926
#Domains=2039723