X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Flib%2Fturing%2Finject.ma;h=6290a2919afefd2bf315badfc47bec0a6afbf9fb;hb=fc803c84d8d99e1bf1f5f655312e120dcd87d90e;hp=ecb854b4a13a3900acefdacfe1366c5ce4b6763d;hpb=068e5a10f78798a3cbadb8aeed16b2c0d1f1d871;p=helm.git diff --git a/matita/matita/lib/turing/inject.ma b/matita/matita/lib/turing/inject.ma index ecb854b4a..6290a2919 100644 --- a/matita/matita/lib/turing/inject.ma +++ b/matita/matita/lib/turing/inject.ma @@ -10,8 +10,10 @@ V_____________________________________________________________*) include "turing/turing.ma". +(* include "turing/basic_machines.ma". *) (******************* inject a mono machine into a multi tape one **********************) + definition inject_trans ≝ λsig,states:FinSet.λn,i:nat. λtrans:states × (option sig) → states × (option sig × move). λp:states × (Vector (option sig) (S n)). @@ -110,35 +112,11 @@ lemma loop_inject: ∀sig,n,M,i,k,ins,int,outs,outt,vt.i < S n → ] qed. -(* -lemma cstate_inject: ∀sig,n,M,i,x. *) - definition inject_R ≝ λsig.λR:relation (tape sig).λn,i:nat. λv1,v2: (Vector (tape sig) (S n)). R (nth i ? v1 (niltape ?)) (nth i ? v2 (niltape ?)) ∧ ∀j. i ≠ j → nth j ? v1 (niltape ?) = nth j ? v2 (niltape ?). -(* -lemma nth_make : ∀A,i,n,j,a,d. i < n → nth i ? (make_veci A a n j) d = a (j+i). -#A #i elim i - [#n #j #a #d #ltOn @(lt_O_n_elim … ltOn)