• No se han encontrado resultados

VARIABLE DEFINICION CONCEPTUAL

2 METODOLOGÍA DE LA INVESTIGACIÓN 3.1 Ámbito de estudio

3.9. Técnicas de procesamiento y análisis de datos

This file uses Multiset.thy, which is included in theIsabelle distribution. datatypeform =At nat

|Imp form form (-⊃-[100,100]110)

|Conj form form (-∧∗-[100,100]110)

|Disj form form (-∨∗-[100,100]110)

|ff

abbreviation

multiset-plus (infixl⊕80)where

(Γ ::form multiset)⊕(A::form) ≡Γ + {#A#}

abbreviation

multiset-minus (infixl 80)where

(Γ ::form multiset) (A::form) ≡Γ− {#A#}

inductive

provable ::form multiset ⇒form ⇒ nat ⇒bool (-⇒-↓-[60,60,60]60) where

|LBot[intro]: [[ff :# Γ]] =⇒Γ⇒C ↓0 |ConjR[intro]: [[Γ⇒A↓n ; Γ⇒B ↓m]] =⇒Γ⇒A∧∗B ↓n+m+1 |ConjL[intro]: [[Γ⊕A⊕B ⇒C ↓n]] =⇒Γ⊕A∧∗B ⇒C ↓n+1 |DisjR1[intro]: [[Γ⇒A↓n]] =⇒Γ⇒A∨∗B ↓n+1 |DisjR2[intro]: [[Γ⇒B ↓n]] =⇒Γ⇒A∨∗B ↓n+1 |DisjL[intro]: [[Γ⊕A⇒C ↓n ; Γ⊕B ⇒C ↓m]] =⇒Γ⊕A∨∗B ⇒C ↓n+m+1 |ImpR[intro]: [[ Γ⊕A⇒B ↓n]] =⇒Γ⇒A⊃B ↓n+1 |ImpL0[intro]: [[Γ⊕At i ⊕B ⇒C ↓n]] =⇒Γ⊕At i ⊕(At i ⊃B)⇒C ↓n+1 |ImpLC[intro]: [[Γ⊕A⊃(B ⊃C) ⇒D ↓n]] =⇒Γ⊕(A∧∗B)⊃C ⇒D ↓n+1 |ImpLD[intro]: [[Γ⊕A⊃C ⊕B ⊃C ⇒D ↓n]] =⇒Γ⊕(A∨∗B)⊃C ⇒D ↓n+1 | ImpLL[intro]: [[Γ ⊕ A ⊕ B ⊃C ⇒ B ↓ n ; Γ ⊕ C ⇒ D ↓ m]] =⇒ Γ⊕ (A⊃B)⊃C ⇒ D ↓ n+m+1

constsweight ::form ⇒nat primrec

weight (At i) =1

weight (A⊃B) =1 +weight A+weight B weight (A∧∗ B) =2 +weight A+weight B weight (A∨∗ B) =3 +weight A+weight B weight (ff) =0

abbreviation

less-prod-nat (-<∗-[50,50]50) where p <∗q ≡(p,q) :less-than <∗lex∗>less-than

lemmanat-prod-induct [case-names less]: fixesx y ::nat assumesinduct-step:V x y.(V u v.(u,v)<∗(x,y) =⇒P u v) =⇒P x y showsP x y proof −

havewf (less-than<∗lex∗>less-than) byblast then show?thesis

proof (induct p ≡(x,y) arbitrary:x y) case(less p)

showP x y

proof (rule induct-step) fixu v

assume(u,v)<∗(x,y) withless showP u v bysimp qed

qed qed

lemmacontainMultiset: assumesA:# Γ shows∃ Γ0.Γ = Γ0⊕A proof−

fromassms haveΓ A ⊕A = Γby(auto simp add:multiset-eq-conv-count-eq) then show∃ Γ0.Γ = Γ0⊕A by(rule-tac x=Γ AinexI) (auto)

qed

lemmamidMultiset:

assumesΓ⊕A= Γ0⊕B and A6=B shows∃ Γ00.Γ = Γ00⊕B ∧Γ0= Γ00⊕A proof−

fromassms haveA:# Γ0 proof−

fromassms haveset-of (Γ⊕A) =set-of (Γ0⊕B)byauto then haveset-of Γ∪ {A}=set-of Γ0∪ {B}byauto then haveset-of Γ∪ {A} ⊆set-of Γ0∪ {B}bysimp then haveA∈set-of Γ0usingassms byauto thusA :# Γ0bysimp

qed

then have∃ Γ00.Γ0= Γ00⊕A usingcontainMultiset[whereΓ=Γ0]byauto then obtainΓ00whereeq1:Γ0= Γ00⊕A byblast

fromhΓA= Γ0⊕Bieq1 haveΓA = Γ00⊕AB byauto

then haveΓ = Γ00⊕B by(auto simp add:multiset-eq-conv-count-eq) thus?thesisusingeq1 byblast

qed

lemmamidMultiset2:

assumesΓ⊕A⊕A= Γ0⊕B and A6=B shows∃ Γ00.Γ = Γ00⊕B ∧Γ0= Γ00⊕A⊕A proof−

fromassms have∃ Γ1.Γ⊕A= Γ1 ⊕B ∧Γ0= Γ1 ⊕AusingmidMultiset[whereΓ=Γ⊕A] byauto

then obtainΓ1 whereeq1: Γ⊕A= Γ1 ⊕B andeq2: Γ0= Γ1 ⊕A byblast

fromeq1 have ∃ Γ2.Γ = Γ2 ⊕B ∧Γ1 = Γ2 ⊕AusinghA6=Biand midMultiset byauto

then obtainΓ2 whereeq3: Γ = Γ2 ⊕B andeq4: Γ1 = Γ2 ⊕Abyblast fromeq2 and eq4 have Γ0= Γ2 ⊕A⊕Abysimp

then show∃ Γ00.Γ = Γ00⊕B∧Γ0= Γ00⊕A⊕Ausingeq3 by(rule-tac x=Γ2 inexI) (auto) qed

lemmadpWeak: fixesΓ ::form multiset assumesa: Γ⇒C ↓n showsΓ⊕A⇒C ↓n usinga

proof (induct ΓC n) case(Ax i Γ)

then have At i :# Γbysimp-all

then showΓ⊕A⇒At i↓0 using provable.Ax byauto next

case(LBot ΓC)

then have ff :# Γbysimp-all

then showΓ⊕A⇒C ↓0 usingprovable.LBot byauto next

case(ConjRΓC n D m)

then haveΓ⊕A⇒C∧∗D ↓n+m+1 usingprovable.ConjR[whereΓ=Γ⊕A]byauto then show?case byblast

next

case(DisjR1 ΓC n D)

then haveΓ⊕A⇒C∨∗D ↓n+1 using provable.DisjR1[whereΓ=Γ⊕A]byauto then show?case byblast

next

case(DisjR2 ΓD n C)

then haveΓ⊕A⇒C∨∗D ↓n+1 using provable.DisjR2[whereΓ=Γ⊕A]byauto then show?case byblast

next

case(ImpRΓC D m)

then haveΓ⊕C ⊕A⇒D ↓m byauto

then showΓ⊕A⇒C ⊃D ↓m+1 using provable.ImpR by(auto simp add:union-ac) next

case(ConjLΓC D E n)

then haveΓ⊕C∧∗D ⊕A⇒E ↓n+1 using provable.ConjL[whereΓ=Γ⊕AandA=C and B=D]by(auto simp add:union-ac)

then show?case byblast next

case(DisjLΓC E n D m)

then have Γ⊕ C∨∗D ⊕A ⇒ E ↓ n+m+1 using provable.DisjL[whereΓ=Γ⊕Aand A=C andB=D]by(auto simp add:union-ac)

then show?case byblast next

case(ImpL0 Γi B C n)

then showΓ⊕At i ⊕(At i ⊃B) ⊕A ⇒C ↓n+1

using provable.ImpL0[whereC=C and B=B and Γ=Γ⊕A and i=i and n=n] by (auto simp add:union-ac)

next

case(ImpLC ΓC D B E n)

then haveΓ⊕C⊃(D⊃B)⊕A⇒E ↓n bysimp then showΓ⊕(C∧∗D)⊃B ⊕A ⇒E ↓n+1

usingprovable.ImpLC[whereΓ=Γ⊕AandA=C and B=D andC=B andD=E andn=n] by(auto simp add:union-ac)

next

case(ImpLD ΓC B D E n)

then haveΓ⊕C⊃B ⊕D⊃B ⊕A⇒E ↓n bysimp then showΓ⊕(C∨∗D)⊃B ⊕A ⇒E ↓n+1

usingprovable.ImpLD[whereΓ=Γ⊕AandA=C andB=D andC=B andD=E andn=n] by(auto simp add:union-ac)

next

case(ImpLLΓC D B n E m)

then haveΓ⊕C ⊕D⊃B ⊕A⇒D ↓nand Γ⊕B ⊕A⇒E ↓m byauto then showΓ⊕(C⊃D)⊃B ⊕A⇒E ↓n+m+1

usingprovable.ImpLL[whereΓ=Γ⊕Aand A=C andB=D and C=B and D=E and n=n andm=m]by(auto simp add:union-ac)

qed lemmadpWeak0: assumesΓ⇒C ↓n showsΓ + Γ0⇒C ↓n usingassms proof (induct Γ0) caseempty

then show?case byauto next

case(add Γ0x)

then haveΓ + Γ0⇒C ↓nbyauto

then have Γ + Γ0 ⊕ x ⇒ C ↓ n using dpWeak[where Γ=Γ+Γ0 and A=x] by (auto simp only:union-ac)

then show?case byblast qed

lemmainversionConjL: assumesΓ⊕A∧∗B ⇒C ↓n

shows∃ j.j≤n ∧Γ⊕A⊕B ⇒C ↓j usingassms

case(Ax i Γ0)

then haveAt i :# Γbyauto

then haveΓ⊕A⊕B ⇒At i ↓0 byauto then show?case byblast

next

case(LBot Γ0C)

then haveff :# Γbyauto

then haveΓ⊕A⊕B ⇒C ↓0 byauto then show?case byblast

next

case(ImpRΓ0E F k)

then haveΓ0⊕E = Γ⊕A∧∗B ⊕E byauto

then have ∃ j.j≤k ∧ Γ⊕ A⊕ B ⊕ E ⇒ F ↓j using prems(3)[whereΓ=Γ⊕E]by (auto simp add:union-ac)

then obtainj wherec1:j≤k

andc2: Γ⊕A⊕B ⊕E ⇒F ↓j byauto

from c2 have Γ⊕ A⊕ B ⇒E⊃F ↓ j+1 using provable.ImpR[where Γ=Γ⊕ A ⊕B and A=E andB=F]byauto

then show?case usingc1 byauto next

case(ConjRΓ0E k F l)

then have∃j≤k.Γ⊕A⊕B ⇒E ↓j and∃j≤l.Γ⊕A⊕ B ⇒F ↓j byauto then obtainj1 j2 wherec1:j1 ≤k

andc2: Γ ⊕A ⊕B ⇒E ↓j1 andc3:j2 ≤l

andc4: Γ ⊕A ⊕B ⇒F ↓j2 byauto

then show ?case using provable.ConjR[whereΓ=Γ⊕A⊕B and n=j1 and m=j2 and A=E andB=F]

apply(rule-tac x=j1+j2+1 inexI)byauto next

case(DisjR1 Γ0E n F)

then have∃j≤n.Γ⊕A⊕B ⇒E ↓j byauto

then obtainj whereeq:j≤nand Γ⊕A⊕B ⇒E ↓j byblast then haveΓ⊕A⊕B ⇒E∨∗F ↓j+1 usingprovable.DisjR1 byauto then show?case usingeq byauto

next

case(DisjR2 Γ0F n E)

then have∃j≤n.Γ⊕A⊕B ⇒F ↓j byauto

then obtainj whereeq:j≤nand Γ⊕A⊕B ⇒F ↓j byblast then haveΓ⊕A⊕B ⇒E∨∗F ↓j+1 usingprovable.DisjR2 byauto then show?case usingeq byauto

next

then obtainΓ1 whereeq1: Γ0= Γ1 ⊕A∧∗B

and eq2: Γ00 = Γ1 ⊕E∨∗F using midMultiset[whereΓ=Γ0and Γ0=Γ00and A=E∨∗F andB=A∧∗B]byauto

fromeq1 prems(3)[whereΓ=Γ1⊕E]have∃ j≤n.Γ1 ⊕E ⊕A ⊕B ⇒C ↓j by (auto simp add:union-ac)

moreover

fromeq1 prems(5)[whereΓ=Γ1⊕F]have∃ k≤m.Γ1 ⊕F ⊕A⊕B ⇒C ↓k by(auto simp add:union-ac)

ultimately

obtainj k wherea:j≤n ∧k≤m

andb: Γ1 ⊕E ⊕A⊕B ⇒C ↓j

andc: Γ1 ⊕F ⊕A⊕B ⇒C ↓k byblast

fromb chaveΓ1 ⊕E∨∗F ⊕A⊕B ⇒C ↓j+k+1 usingprovable.DisjL[whereΓ=Γ1⊕A⊕B andA=E and B=F]

by(auto simp add:union-ac)

then show?case usinga eq2 apply(rule-tac x=j+k+1 inexI)byauto next

case(ImpL0 Γ0i E C n Γ00)

fromprems obtainΓ1 whereeq10: Γ0⊕At i = Γ1 ⊕A∧∗B

andeq20: Γ00= Γ1 ⊕At i ⊃E usingmidMultiset[whereΓ=Γ0⊕At i and Γ0=Γ00andA=At i ⊃E andB=A∧∗B]

byauto

fromeq10obtainΓ2 whereeq1: Γ0= Γ2 ⊕A∧∗B

andeq200: Γ1 = Γ2 ⊕At i usingmidMultiset[whereΓ=Γ0and Γ0=Γ1 and A=At i andB=A∧∗B]

byauto

fromeq200eq20have eq2: Γ00= Γ2 ⊕At i ⊕At i ⊃E bysimp

fromeq1 have∃ j.j≤n∧Γ2 ⊕At i⊕E ⊕A⊕B⇒C ↓j usingprems(3)[whereΓ=Γ2⊕At i⊕E]by(auto simp add:union-ac)

then obtainj whereb1:j≤n

andb2: Γ2⊕A⊕B ⊕At i ⊕E ⇒C ↓j by(auto simp add:union-ac) fromb2 haveΓ2 ⊕A⊕B ⊕At i ⊕At i ⊃E ⇒C ↓j+1

usingprovable.ImpL0[whereΓ=Γ2⊕A⊕Bandi=i andB=E andC=C andn=j]by(auto simp add:union-ac)

then haveΓ00⊕A⊕B ⇒C ↓j+1 usingeq2 by(auto simp add:union-ac) then show?case usingb1 by(rule-tac x=j+1 inexI) (auto)

next

case(ImpLC Γ0D E C G n Γ00)

then obtainΓ1 whereeq1: Γ0= Γ1 ⊕A∧∗B

and eq2: Γ00= Γ1 ⊕(D∧∗E)⊃C using midMultiset[whereΓ=Γ0and Γ0=Γ00 andA=(D∧∗E)⊃C and B=A∧∗B]

byauto

by(auto simp only:union-ac) then obtainj whereb1:j≤n

andb2: Γ1 ⊕D ⊃(E⊃C)⊕A⊕B ⇒G ↓j byblast

fromb2 haveΓ1⊕(D∧∗E)⊃C⊕A⊕B⇒G↓j+1usingprovable.ImpLC[whereΓ=Γ1⊕A⊕B andA=D andB=E andC=C andD=Gand n=j]

by(auto simp add:union-ac)

then haveΓ00⊕A⊕B ⇒G ↓j+1 usingeq2 bysimp then show?case usingb1 by(rule-tac x=j+1 inexI) (auto) next

case(ImpLD Γ0D C E G n Γ00)

then obtainΓ1 whereeq1: Γ0= Γ1 ⊕A∧∗B

and eq2: Γ00= Γ1 ⊕(D∨∗E)⊃C using midMultiset[whereΓ=Γ0and Γ0=Γ00 andA=(D∨∗E)⊃C and B=A∧∗B]

byauto

from eq1 have ∃ j≤n. Γ1 ⊕ D⊃C ⊕ E⊃C ⊕ A ⊕ B ⇒ G ↓ j using prems(3)[where Γ=Γ1⊕D⊃C⊕E⊃C]by(auto simp add:union-ac)

then obtainj whereb1:j≤n

andb2: Γ1 ⊕D⊃C ⊕E⊃C ⊕A⊕B ⇒G ↓j byauto

fromb2 haveΓ1⊕(D∨∗E)⊃C⊕A⊕B⇒G↓j+1usingprovable.ImpLD[whereΓ=Γ1⊕A⊕B andA=D andC=C andB=E andD=Gand n=j]

by(auto simp add:union-ac)

then haveΓ00⊕A⊕B ⇒G ↓j+1 usingeq2 bysimp then show?case usingb1 by(rule-tac x=j+1 inexI) (auto) next

case(ImpLLΓ0D E C n G m Γ00)

then obtainΓ1 whereeq1: Γ0= Γ1 ⊕A∧∗B

andeq2: Γ00= Γ1 ⊕(D⊃E)⊃C usingmidMultiset[whereΓ=Γ0andΓ0=Γ00and A=(D⊃E)⊃C andB=A∧∗B]byauto

fromeq1 have ∃ j≤n.Γ1 ⊕D ⊕E⊃C ⊕A⊕B ⇒E ↓j using prems(3)[whereΓ=Γ1 ⊕

D ⊕E⊃C]by(auto simp add:union-ac) then obtainj whereb1:j≤n

andb2: Γ1 ⊕D ⊕E⊃C ⊕A⊕B ⇒E ↓j byblast moreover

fromeq1 have ∃ k≤m. Γ1⊕C ⊕ A ⊕ B ⇒G ↓ k using prems(5)[whereΓ=Γ1 ⊕ C] by (auto simp add:union-ac)

then obtaink wherec1:k≤m

andc2: Γ1⊕C ⊕A⊕B ⇒G↓k byblast ultimately

have Γ1 ⊕(D⊃E)⊃C ⊕A ⊕B ⇒ G ↓j+k+1 using provable.ImpLL[whereΓ=Γ1⊕A⊕B andA=D andB=E andC=C andD=Gand n=j and m=k]

by(auto simp add:union-ac)

then haveΓ00⊕A⊕B ⇒G ↓j+k+1 using eq2 bysimp

next

case(ConjLΓ0E F C n Γ00)

haveE∧∗F =A∧∗B ∨E∧∗F 6=A∧∗B byblast moreover

{assumeE∧∗F =A∧∗B

then haveΓ0=Γ00∧ E=A∧ F=B usingprems byauto

then have ∃ j. j≤n+1 ∧Γ00⊕ A⊕B ⇒C ↓j using prems apply (rule-tac x=n in exI) byauto

}

moreover

{assumeE∧∗F 6=A∧∗B

then obtainΓ1 whereeq1: Γ0= Γ1 ⊕A∧∗B

and eq2: Γ00= Γ1 ⊕ E∧∗F using midMultiset[whereΓ=Γ0and Γ0=Γ00and A=E∧∗F andB=A∧∗B]prems

byauto

from prems have ∃ j. j≤n ∧ Γ1 ⊕ A ⊕ B ⊕ E ⊕ F ⇒ C ↓ j using prems(3)[where Γ=Γ1⊕E⊕F]by(auto simp add:union-ac)

then obtainj whereb1:j≤n

andb2: Γ1 ⊕A ⊕B ⊕E ⊕F ⇒C ↓j by(auto simp add:union-ac)

fromb2 have Γ1 ⊕A ⊕B ⊕E∧∗F ⇒C ↓j+1 using provable.ConjL[whereΓ=Γ1⊕A⊕B] by(auto simp add:union-ac)

then have∃ j≤n+1.Γ00⊕A⊕B ⇒C ↓j usingeq2 b1 apply (rule-tac x=j+1 inexI) by (auto simp add:union-ac)

}

ultimately

show?case byblast qed

lemmainversionDisjL:

assumesΓ⊕A∨∗B ⇒C ↓n

shows∃ j k.j≤n ∧k≤n ∧Γ⊕A⇒C ↓j ∧Γ⊕B ⇒C ↓k usingassms

proof (induct Γ≡Γ⊕A∨∗B C n arbitrary: Γ) case(Ax i Γ0)

then haveAt i :# Γbyauto

then haveΓ⊕A⇒At i ↓0 and Γ⊕B ⇒At i ↓0 byauto then show?case byblast

next

case(LBot Γ0C)

then haveff :# Γbyauto

then haveΓ⊕A⇒C ↓0 andΓ⊕B ⇒C ↓0 byauto then show?case byblast

case(ConjRΓ0E k F l)

then have∃ j1 j2.j1≤k ∧j2≤k ∧Γ⊕A⇒E ↓j1 ∧Γ⊕B ⇒E ↓j2 and∃ j3 j4.j3≤l ∧j4≤l ∧Γ⊕A⇒F ↓j3 ∧Γ⊕B ⇒F ↓j4 byauto then obtainj1 j2 j3 j4 wherec:j1 ≤k ∧ j2≤k ∧j3≤l ∧j4≤l

and c1: Γ⊕A⇒E ↓j1 and c2: Γ⊕B ⇒E ↓j2 and c3: Γ⊕A⇒F ↓j3

and c4: Γ⊕B ⇒F ↓j4 byauto

fromc1 c3 haveΓ⊕A⇒E∧∗F ↓j1+j3+1 usingprovable.ConjR[whereΓ=Γ⊕A]byauto moreover

fromc2 c4 haveΓ⊕B ⇒E∧∗F ↓j2+j4+1 usingprovable.ConjR[whereΓ=Γ⊕B]byauto ultimately

show?case usingc apply(rule-tac x=j1+j3+1 inexI,rule-tac x=j2+j4+1 in exI)byauto next

case(DisjR1 Γ0E n F)

then have∃ j k.j≤n ∧k≤n ∧Γ⊕A⇒E ↓j ∧ Γ⊕B ⇒E ↓k byauto

then obtainj k whereeq:j≤n ∧k≤n andΓ⊕A⇒E ↓j ∧Γ⊕B ⇒E ↓k byblast then haveΓ⊕A⇒E∨∗F ↓j+1 ∧Γ⊕B ⇒E∨∗F ↓k+1 using provable.DisjR1 byauto then show?case usingeq byauto

next

case(DisjR2 Γ0F n E)

then have∃ j k.j≤n ∧k≤n ∧Γ⊕A⇒F ↓j ∧Γ⊕B ⇒F ↓k byauto

then obtainj k whereeq:j≤n ∧k≤n andΓ⊕A⇒F ↓j ∧Γ⊕B ⇒F ↓k byblast then haveΓ⊕A⇒E∨∗F ↓j+1 ∧Γ⊕B ⇒E∨∗F ↓k+1 using provable.DisjR2 byauto then show?case usingeq byauto

next

case(ImpRΓ0E F k)

then haveΓ0⊕E = Γ⊕A∨∗B ⊕E byauto

then have∃ j1 j2.j1≤k ∧j2≤k ∧Γ⊕A⊕E ⇒F ↓j1 ∧ Γ⊕B ⊕E ⇒F ↓j2 usingprems(3)[whereΓ=Γ⊕E]by(auto simp add:union-ac)

then obtainj1 j2 wherec1:j1≤k ∧j2≤k andc2: Γ ⊕A ⊕E ⇒F ↓j1

andc3: Γ ⊕B ⊕E ⇒F ↓j2 byauto

fromc2 haveΓ⊕A ⇒E⊃F ↓j1+1 using provable.ImpR[whereΓ=Γ ⊕Aand A=E and B=F]byauto

moreover

fromc3 have Γ⊕B ⇒E⊃F ↓j2+1 using provable.ImpR[whereΓ=Γ⊕B and A=E and B=F]byauto

ultimately

show?case usingc1 apply (rule-tac x=j1+1 in exI,rule-tac x=j2+1 inexI) byauto next

case(ConjLΓ0E F C n Γ00)

and eq2: Γ00= Γ1 ⊕E∧∗F using midMultiset[whereΓ=Γ0andA=E∧∗F and Γ0=Γ00andB=A∨∗B]byauto

fromeq1 prems(3)[whereΓ=Γ1⊕E⊕F]

have ∃ j k. j≤n ∧k≤n ∧ Γ1 ⊕E ⊕F ⊕A ⇒C ↓j ∧Γ1 ⊕ E ⊕F ⊕ B ⇒ C ↓k by (auto simp add:union-ac)

then obtainj k whereeq3:j≤n ∧k≤n

andc1: Γ1 ⊕E ⊕F ⊕A⇒C ↓j

andc2: Γ1 ⊕E ⊕F ⊕B ⇒C ↓k byblast

fromc1 haveΓ1 ⊕E∧∗F ⊕A⇒C ↓j+1 usingprovable.ConjL[whereΓ=Γ1⊕AandA=E andB=F]

by(auto simp add:union-ac) moreover

fromc2 haveΓ1 ⊕E∧∗F ⊕B ⇒C ↓k+1 usingprovable.ConjL[whereΓ=Γ1⊕B andA=E andB=F]

by(auto simp add:union-ac) ultimately

show?case usingeq2 eq3 apply(rule-tac x=j+1 inexI,rule-tac x=k+1 inexI)byauto next

case(ImpL0 Γ0i E C n Γ00)

fromprems obtainΓ1 whereeq10: Γ0⊕At i = Γ1 ⊕A∨∗B

andeq20: Γ00= Γ1 ⊕At i ⊃E usingmidMultiset[whereΓ=Γ0⊕At i and Γ0=Γ00andA=At i ⊃E andB=A∨∗B]

byauto

fromeq10obtainΓ2 whereeq1: Γ0= Γ2 ⊕A∨∗B

andeq200: Γ1 = Γ2 ⊕At i usingmidMultiset[whereΓ=Γ0and Γ0=Γ1 and A=At i andB=A∨∗B]

byauto

fromeq200eq20have eq2: Γ00= Γ2 ⊕At i ⊕At i ⊃E bysimp

fromeq1 have∃ j k.j≤n∧ k≤n ∧ Γ2 ⊕At i ⊕E ⊕A⇒C ↓j ∧Γ2 ⊕At i ⊕E ⊕B ⇒

C ↓k

usingprems(3)[whereΓ=Γ2⊕At i⊕E]by(auto simp add:union-ac) then obtainj k whereb1:j≤n ∧k≤n

andb2: Γ2 ⊕At i ⊕E ⊕A⇒C ↓j

andb3: Γ2 ⊕At i ⊕E ⊕B ⇒C ↓k byblast

fromb2 haveΓ2 ⊕At i ⊕At i ⊃E ⊕A⇒C ↓j+1 usingprovable.ImpL0[whereΓ=Γ2⊕A andi=i and B=E and C=C andn=j]

by(auto simp add:union-ac)

then haveΓ00⊕A⇒C ↓j+1 usingeq2 bysimp moreover

fromb3 haveΓ2 ⊕At i ⊕At i ⊃E ⊕B⇒C ↓k+1 usingprovable.ImpL0[whereΓ=Γ2⊕B andi=i and B=E and C=C andn=k]

by(auto simp add:union-ac)

ultimately

show?case usingb1 by(rule-tac x=j+1 inexI,rule-tac x=k+1 inexI) (auto) next

case(ImpLC Γ0D E C G n Γ00)

then obtainΓ1 whereeq1: Γ0= Γ1 ⊕A∨∗B

and eq2: Γ00= Γ1 ⊕(D∧∗E)⊃C using midMultiset[whereΓ=Γ0and Γ0=Γ00 andA=(D∧∗E)⊃C and B=A∨∗B]

byauto

fromeq1 have ∃ j k.j≤n ∧k≤n ∧Γ1 ⊕D⊃(E⊃C)⊕A ⇒G ↓j ∧Γ1 ⊕D⊃(E⊃C) ⊕B

⇒G ↓k usingprems(3)[whereΓ=Γ1⊕D⊃(E⊃C)] by(auto simp only:union-ac)

then obtainj k whereb1:j≤n ∧k≤n

andb2: Γ1 ⊕D ⊃(E⊃C)⊕A⇒G↓j

andb3: Γ1 ⊕D ⊃(E⊃C)⊕B ⇒G ↓k byblast

fromb2 haveΓ1 ⊕(D∧∗E)⊃C ⊕A⇒G↓j+1 usingprovable.ImpLC[whereΓ=Γ1⊕Aand A=D andB=E andC=C and D=G andn=j]

by(auto simp add:union-ac)

then haveΓ00⊕A⇒G↓j+1 usingeq2 bysimp moreover

from b3 have Γ1 ⊕ (D∧∗E)⊃C ⊕ B ⇒ G ↓ k+1 using provable.ImpLC[where Γ=Γ1⊕B andA=D andB=E andC=C andD=Gand n=k]

by(auto simp add:union-ac)

then haveΓ00⊕B ⇒G ↓k+1 using eq2 bysimp ultimately

show?case usingb1 by(rule-tac x=j+1 inexI,rule-tac x=k+1 inexI) (auto) next

case(ImpLD Γ0D C E G n Γ00)

then obtainΓ1 whereeq1: Γ0= Γ1 ⊕A∨∗B

and eq2: Γ00= Γ1 ⊕(D∨∗E)⊃C using midMultiset[whereΓ=Γ0and Γ0=Γ00 andA=(D∨∗E)⊃C and B=A∨∗B]

byauto

fromeq1 have ∃ j k.j≤n∧k≤n∧Γ1 ⊕D⊃C ⊕E⊃C ⊕A⇒G↓j ∧Γ1 ⊕D⊃C ⊕E⊃C

Documento similar