From 1eb7d6013e9a575d4cbbd431ae4cc66e8fd00962 Mon Sep 17 00:00:00 2001
From: Tamazouzt AIT ELDJOUDI <tamazouzt.ait-eldjoudi@etu.univ-amu.fr>
Date: Wed, 22 Jun 2022 14:29:39 +0200
Subject: [PATCH] added arithmetic and logic fubctions to app_func

---
 app_functions.py | 25 ++++++++++++++++++++++---
 1 file changed, 22 insertions(+), 3 deletions(-)

diff --git a/app_functions.py b/app_functions.py
index e3dc615..83c32ad 100644
--- a/app_functions.py
+++ b/app_functions.py
@@ -5,8 +5,9 @@ from image_maker import*
 f=new_var(freshVar())
 x=new_var(freshVar())
 y=new_var(freshVar())
-# z=new_var(freshVar())
-# w=new_var(freshVar())
+z=new_var(freshVar())
+w=new_var(freshVar())
+succs= new_abs(z,new_abs(f,new_abs(x,new_app(new_app(z,f), new_app(f,x)))))
 boolean={True: new_abs(x,new_abs(y,x)), False: new_abs(x,new_abs(y,y))}
 
 #definition des entiers de church
@@ -34,6 +35,24 @@ def dec_to_lambda_relative_integers(number):
         return pair(boolean[True],dec_to_church(number))
     return pair(boolean[False], dec_to_church(number))
 
+def succ(n):
+    return beta_reduction_totale(new_abs(f,new_abs(x,new_app(new_app(n,f), new_app(f,x)))))
+
+def adder(n,m):
+    return beta_reduction_totale(new_app(new_app(m,succs),n))
+
+def power(n,m):# retourne n puiss m
+    return beta_reduction_totale(new_app(m,n))
+
+def multiplication(n,m):
+    return beta_reduction_totale(new_abs(f,new_abs(x,new_app(m,new_app(n,f)))))
+
+def is_zero(n):
+    return beta_reduction_totale(new_app(new_app(n,new_abs(x,boolean[False])),boolean[True]))
+
+
+
+
 
 #print(to_string(getSecondFromPair(pair(boolean[True],dec_to_church(1)))))
-print(to_string(pair(x,y)))
+print(to_string(is_zero(dec_to_church(3))))
-- 
GitLab