import gradio as gr logic_dict = { 'AND': '∧', 'OR': '∨', 'NOT': '¬', 'XR': '⊕', 'IMPLY': '→', 'EQUIV': '↔', 'ALL': '∀', 'EXIST': '∃' } def logic(string: str): for word, symbol in logic_dict.items(): string = string.replace(word, symbol) return 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(share=True)