case a.isTrue ab =>
  simp; rw [ab]
  apply S_induction; simp
  rw [String.decEq_refl b]; simp
  intros n; constructor <;> constructor <;> apply NoVars.fromNat
a b : String
n : ℕ
ab : a = b
⊢ Ø ⋁
    match isTrue ab with
    | isTrue h => ∀ₛ b ; _ a +ₛ _ b =ₛ _ b +ₛ _ a
    | isFalse h =>
      ∀ₛ b ;
        ((match String.decEq a a with
            | isTrue h => fromNat n
            | isFalse h => _ a) +ₛ
            match isTrue ab with
            | isTrue h => fromNat n
            | isFalse h => _ b) =ₛ
          (match isTrue ab with
            | isTrue h => fromNat n
            | isFalse h => _ b) +ₛ
            match String.decEq a a with
            | isTrue h => fromNat n
            | isFalse h => _ a
no goals