Skip to content

Instantly share code, notes, and snippets.

@sakapon
Created December 23, 2016 07:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sakapon/82ab1ad2b5c2834d01c7076442fd7727 to your computer and use it in GitHub Desktop.
Save sakapon/82ab1ad2b5c2834d01c7076442fd7727 to your computer and use it in GitHub Desktop.
MathSample / PropositionsConsole - Knights
using System;
using Blaze.Propositions;
using static System.Console;
using static Blaze.Propositions.Formula;
namespace PropositionsConsole
{
class Program
{
static void Main(string[] args)
{
Knights_1_3();
Knights_1_5();
}
static void Knights_1_3()
{
var ka = Variable("kA");
var kb = Variable("kB");
var knowledge = Equivalent(ka, !ka & !kb);
knowledge.Determine(ka);
knowledge.Determine(kb);
WriteLine("Q 1.3");
WriteVariable(ka);
WriteVariable(kb);
}
static void Knights_1_5()
{
var ka = Variable("kA");
var kb = Variable("kB");
var knowledge = Equivalent(ka, Equivalent(ka, kb));
knowledge.Determine(ka);
knowledge.Determine(kb);
WriteLine("Q 1.5");
WriteVariable(ka);
WriteVariable(kb);
}
static void WriteVariable(VariableFormula v)
{
WriteLine($"{v}: {(v.Value.HasValue ? v.Value.ToString() : "Null")}");
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment