Skip to content

Commit

Permalink
EliminateVariable update
Browse files Browse the repository at this point in the history
  • Loading branch information
dharmatech committed Nov 16, 2014
1 parent 00e3a1d commit ce32a6d
Showing 1 changed file with 1 addition and 14 deletions.
15 changes: 1 addition & 14 deletions Symbolism/EliminateVariable.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,30 +11,17 @@ public static class Extensions
{
public static List<Equation> EliminateVariable(this List<Equation> eqs, Symbol sym)
{
// var eq = eqs.First(elt => Contains(elt.a, sym) || Contains(elt.b, sym));

var eq = eqs.First(elt => elt.a.Has(sym) || elt.b.Has(sym));

var rest = eqs.Except(new List<Equation>() { eq });

// var eq_sym = IsolateVariable(eq, sym);

var result = eq.IsolateVariable(sym);

if (result is Equation)
{
var eq_sym = result as Equation;

return
rest
.Select(
elt =>
new Equation(
elt.a.Substitute(sym, eq_sym.b),
elt.b.Substitute(sym, eq_sym.b)))
.ToList();

// return rest.Select(elt => elt.Substitute(sym, eq_sym.b)).ToList();
return rest.Select(elt => elt.Substitute(sym, eq_sym.b) as Equation).ToList();
}

if (result is Or)
Expand Down

0 comments on commit ce32a6d

Please sign in to comment.