diff --git a/lib/src/solver/deduction_builder.dart b/lib/src/solver/deduction_builder.dart
deleted file mode 100644
index ed4842453bd1aba1db3d9ef1ee2f281d31e16f06..0000000000000000000000000000000000000000
--- a/lib/src/solver/deduction_builder.dart
+++ /dev/null
@@ -1,61 +0,0 @@
-import "../package.dart";
-import "deduction.dart";
-import "version_solver.dart";
-
-class DeductionBuilder {
-  final _ids = <PackageId>[];
-  final _failures = <SolveFailure>[];
-
-  DeductionBuilder(PackageId id, SolveFailure failure) {
-    _ids.add(id);
-    _failures.add(failure);
-  }
-
-  bool add(PackageId id, SolveFailure failure) {
-    assert(id.toRef() == _ids.first.toRef());
-    if (failure.runtimeType != _failures.first.runtimeType) return false;
-    if (failure.package != _failures.first.package) return false;
-
-    _failures.add(failure);
-  }
-
-  List<Deduction> build() {
-    if (_failures.first is BadSdkVersionException) {
-      return [new Required(_excludesIds, [Cause.badSdkVersion])];
-    }
-
-    if (_failures.first is UnknownSourceException) {
-      // TODO: we should include information about what package was depended on.
-      return [new Required(_excludesIds, [Cause.unknownSource])];
-    }
-
-    if (_failures.first is DisjointConstraintException ||
-        _failures.first is SourceMismatchException ||
-        _failures.first is DescriptionMismatchException) {
-      return [new Dependency(_includesIds, _allowed)];
-    }
-
-    // TODO: what to do about NoVersionExceptions?
-    return [];
-  }
-
-  PackageDep get _excludesIds {
-    
-  }
-
-  PackageDep get _includesIds {
-    
-  }
-
-  PackageDep get _allowed {
-    var dependencies = _failures.map((failure) {
-      return failure.dependencies
-          .firstWhere((dep) => dep.depender.name == _ids.first.name);
-    }).toList();
-
-    var constraint = dependencies.reduce(
-        (dep1, dep2) => dep1.dep.constraint.union(dep2.dep.constraint));
-
-    return new dependencies.first.dep.withConstraint(constraint);
-  }
-}