#include <bits/stdc++.h>
#pragma GCC optimize("O3")
inline bool setmin(int &x, int y) { return (y < x) ? x = y, 1 : 0; }
inline bool setmax(int &x, int y) { return (y > x) ? x = y, 1 : 0; }
inline bool setmin(long long &x, long long y) { return (y < x) ? x = y, 1 : 0; }
inline bool setmax(long long &x, long long y) { return (y > x) ? x = y, 1 : 0; }
using namespace std;
int n;
int a[300000];
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.precision(20);
  int T;
  cin >> T;
  while (T--) {
    cin >> n;
    for (int i = (0); i < (n); ++i) cin >> a[i];
    int f = 1;
    int i = 1;
    while (i < n && a[i] >= i) i++;
    if (i) i--;
    int h = n - i - 1;
    while (i < n && a[i] >= h) i++, h--;
    if (i == n)
      cout << "Yes\n";
    else
      cout << "No\n";
  }
  return 0;
}
