static void Main(string[] args) { try { Console.WriteLine("Hello World!"); //Console CODE var parser = StringParser.Create( ">(!x.(@y.(|(P(x),Q(y)))),|(!u.(P(u)),!v.(Q(v))))"); var ope = parser.GetOperator(); // Console.WriteLine( ope.Equals(parser2.GetOperator())); var tableaux = new SemanticTableauxParser(ope); Console.WriteLine("Yep, it is a: " + tableaux.IsTautology()); } catch (Exception e) { Console.WriteLine(e.Message); Console.WriteLine(e.StackTrace); } }
private void Test(string formula, bool result) { var parser = StringParser.Create(formula); var ope = parser.GetOperator(); // Console.WriteLine( ope.Equals(parser2.GetOperator())); var tableaux = new SemanticTableauxParser(ope); Assert.Equal(result, tableaux.IsTautology()); }
public IActionResult Calculate(string formula) { if (string.IsNullOrEmpty(formula)) { return(RedirectToAction("Index")); } var model = new CalculateViewModel(); var parser = StringParser.Create(formula); var calculatedFormula = parser.GetOperator(); model.OriginalFormula = calculatedFormula.ToString(); model.Logic = calculatedFormula.ToLogicString(); model.Nandify = calculatedFormula.ToNandify().ToString(); model.HasResult = calculatedFormula.HasResult(); var json = JsonCreator.CreateFromBaseOpeator(calculatedFormula); model.JsonData = JsonConvert.SerializeObject(json); SemanticTableauxParser tableaux; if (calculatedFormula.HasResult()) { var stable = new SimplifiedTruthTableCreator(calculatedFormula); var table = new TruthTableCreator(calculatedFormula); var normal = new DisjunctiveNormalDecorator(table); var simplifiedNormal = new DisjunctiveNormalDecorator(stable); model.Normalize = normal.GetOperator().ToString(); model.NormalizeLogicFormat = normal.GetOperator().ToLogicString(); model.TruthTable = table.GetTable(); model.SimplifiedTruthTable = stable.GetTable(); model.Arguments = calculatedFormula.GetArguments(); model.SimplifiedNormalize = simplifiedNormal.GetOperator().ToString(); model.SimplifiedNormalizeLogicFormat = simplifiedNormal.GetOperator().ToLogicString(); model.Hex = table.ToHex(); } tableaux = new SemanticTableauxParser(calculatedFormula); model.isTautology = tableaux.IsTautology(); model.tableauxJsonData = JsonConvert.SerializeObject(JsonCreator.CreateFromTableauxStep(tableaux.GetStep())); return(View(model)); }