syeda-Rija20 commited on
Commit
48c4a82
·
verified ·
1 Parent(s): a69d6a0

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +45 -0
app.py ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import sympy as sp
3
+ import pandas as pd
4
+
5
+ st.set_page_config(page_title="Logic Solver", layout="centered")
6
+
7
+ st.title("🧩 AI Logic Solver")
8
+ st.write("Enter a logical expression using:")
9
+ st.write("~ (NOT), & (AND), | (OR), >> (IMPLIES)")
10
+
11
+ # User input
12
+ expr_input = st.text_input("Enter expression (e.g., ~(p & q) >> r):")
13
+
14
+ if expr_input:
15
+ try:
16
+ # Define symbols
17
+ p, q, r = sp.symbols('p q r')
18
+
19
+ # Convert string to expression
20
+ expr = sp.sympify(expr_input)
21
+
22
+ st.subheader("📌 Simplified Expression:")
23
+ simplified = sp.simplify_logic(expr)
24
+ st.write(simplified)
25
+
26
+ # Truth table
27
+ st.subheader("📊 Truth Table:")
28
+
29
+ variables = sorted(expr.free_symbols, key=lambda x: str(x))
30
+ rows = []
31
+
32
+ for values in range(2**len(variables)):
33
+ combination = list(map(int, bin(values)[2:].zfill(len(variables))))
34
+ subs = dict(zip(variables, combination))
35
+ result = expr.subs(subs)
36
+
37
+ row = {str(var): val for var, val in subs.items()}
38
+ row["Result"] = int(result)
39
+ rows.append(row)
40
+
41
+ df = pd.DataFrame(rows)
42
+ st.dataframe(df)
43
+
44
+ except Exception as e:
45
+ st.error("❌ Invalid expression. Please follow correct syntax.")