{P : Sort u} →
  {toWorkDoneProgressParams : Lean.Lsp.WorkDoneProgressParams} →
    {toPartialResultParams : Lean.Lsp.PartialResultParams} →
      {textDocument : Lean.Lsp.TextDocumentIdentifier} →
        {toWorkDoneProgressParams' : Lean.Lsp.WorkDoneProgressParams} →
          {toPartialResultParams' : Lean.Lsp.PartialResultParams} →
            {textDocument' : Lean.Lsp.TextDocumentIdentifier} →
              { toWorkDoneProgressParams := toWorkDoneProgressParams, toPartialResultParams := toPartialResultParams,
                    textDocument := textDocument } =
                  { toWorkDoneProgressParams := toWorkDoneProgressParams',
                    toPartialResultParams := toPartialResultParams', textDocument := textDocument' } →
                (toWorkDoneProgressParams = toWorkDoneProgressParams' →
                    toPartialResultParams = toPartialResultParams' → textDocument = textDocument' → P) →
                  P