]> matita.cs.unibo.it Git - helm.git/commitdiff
axiomatization of acc_if
authorAndrea Asperti <andrea.asperti@unibo.it>
Thu, 10 May 2012 07:38:44 +0000 (07:38 +0000)
committerAndrea Asperti <andrea.asperti@unibo.it>
Thu, 10 May 2012 07:38:44 +0000 (07:38 +0000)
matita/matita/lib/turing/if_machine.ma

index 28983b11eb86b4a54bc5e7efbf8f4e2cd77ea4c1..8e2ed3ac136d2f77669c7a50c63b105e861cbab8 100644 (file)
@@ -58,6 +58,14 @@ axiom tdaemon : ∀X:Type[0].X.
 axiom sem_if: ∀sig,M1,M2,M3,Rtrue,Rfalse,R2,R3,acc.
   accRealize sig M1 acc Rtrue Rfalse → Realize sig M2 R2 → Realize sig M3 R3 → 
     Realize sig (ifTM sig M1 M2 M3 acc) (λt1,t2. (Rtrue ∘ R2) t1 t2 ∨ (Rfalse ∘ R3) t1 t2).
+    
+axiom acc_sem_if: ∀sig,M1,M2,M3,Rtrue,Rfalse,R2,R3,acc.
+  accRealize sig M1 acc Rtrue Rfalse → Realize sig M2 R2 → Realize sig M3 R3 → 
+    accRealize sig 
+     (ifTM sig M1 (single_finalTM … M2) M3 acc) 
+     (inr … (inl … (inr … 0)))
+     (Rtrue ∘ R2) 
+     (Rfalse ∘ R3).
 (*    
 #sig #M1 #M2 #M3 #Rtrue #Rfalse #R2 #R3 #acc #HaccR #HR2 #HR3 #t 
 cases (HaccR t) #k1 * #outc1 * * #Hloop1 #HMtrue #HMfalse