static void TestLambda() { System.Console.WriteLine("====================="); System.Console.WriteLine("Testing Lambda:"); Lambda l = new Lambda( new Variable(new E(), 0), new App( new Variable(new Arrow(new E(), new T()), 8), new Variable(new E(), 0))); System.Console.WriteLine(l); LogicalForm noChange = l.Bind(0, new Constant(new E(), 40)); System.Console.WriteLine(noChange); LogicalForm variableReplace = l.Bind(8, new Constant(new Arrow(new E(), new T()), 60)); System.Console.WriteLine(variableReplace); System.Console.WriteLine(l.Apply(new Constant(new E(), 40))); System.Console.WriteLine("====================="); }