File size: 1,155 Bytes
d31f4ce
 
 
f9b0cc9
 
 
 
0821c46
f9b0cc9
 
 
 
 
 
 
 
a90a03e
f9b0cc9
a90a03e
 
f9b0cc9
 
 
 
 
a90a03e
c34bf05
a90a03e
 
 
f9b0cc9
 
8590e59
f9b0cc9
 
a90a03e
f9b0cc9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import gradio as gr


logic_dict = {
    'AND': '∧',
    'OR': '∨',
    'NOT': 'Β¬',
    'XR': 'βŠ•',
    'IMPLY': 'β†’',
    'EQUIV': '↔',
    'ALL': 'βˆ€',
    'EXIST': 'βˆƒ'
}


def logic(string: str):
    processed_string = string
    for word, symbol in logic_dict.items():
        processed_string = processed_string.replace(word, symbol)
    return processed_string


demo = gr.Interface(fn=logic, 
                    inputs="text", outputs="text", 
                    examples=[
                        'ALLx (Student(x) IMPLY Smart(x))',
                        'EXISTx (TShirt(x) AND Buy(adam, x))',
                        'ALLx ((Animal(x) AND Fluffy(x)) IMPLY (Rabbit(x) OR Sheep(x)))',
                        '(GoDowntown(james) AND NOTCarry(james, bag)) EQUIV Buy(james, book)',
                        'ALLx (Project(x) IMPLY (WrittenIn(x, python) XR WrittenIn(x, c++)))'
                    ],
                    title="Logic Translator",
                    description="Type English for logic symbols!\n∧:AND, ∨:OR, Β¬:NOT, βŠ•:XR, β†’:IMPLY, ↔:EQUIV, βˆ€:ALL, βˆƒ:EXIST",
                    live=True)

demo.launch()