// -*- tab-width:2 ; indent-tabs-mode:nil -*-
//:: cases HistogramSubMatrix
given seq<seq<int> > data;
context_everywhere p!=none && M>0 && N > 0 && P > 0 && step >= N;
context_everywhere \matrix(matrix,M,N) ** \array(hist,P);
context_everywhere |data| == M && (\forall int i; 0<=i && i<|data|; |data[i]| == N);
context (\forall* int i1 ; 0 <= i1 && i1 < M ;
(\forall* int j1 ; 0 <= j1 && j1 < N ;
Perm(matrix[i1][j1],p)));
context (\forall int i1 ; 0 <= i1 && i1 < M ;
(\forall int j1 ; 0 <= j1 && j1 < N ;
0 <= matrix[i1][j1] && matrix[i1][j1] < P));
context (\forall int i1 ; 0 <= i1 && i1 < M ;
(\forall int j1 ; 0 <= j1 && j1 < N ;